Javaのイテレータ:それはどういう意味:java.util.ArrayListの$のITR

harp1814:

コードがあります:

List<Integer> al = new ArrayList<>() ;
Iterator iterator = al.iterator();
System.out.println(iterator.getClass().getName());

私が取得します:

 java.util.ArrayList$Itr

それはどういう意味: "ArrayListの$のITR"?

私は、この行にイテレータのどのような実装を取得しますか?

Iterator iterator = al.iterator(); 
彼らは次のとおりでした:

内部ArrayListクラスは、以下の内部クラスが定義されています。

private class Itr implements Iterator<E> {...}

al.iterator()完全な名前で、そのクラスのインスタンスを返しますjava.util.ArrayList$Itr

public Iterator<E> iterator() {
    return new Itr();
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=315946&siteId=1