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();
}