老师,我有一段代码弄不明白
我在ArrayList中找到了一个内部类
public Iterator<E> iterator() { return new Itr(); }
下面这段代码可以理解
List<A> list = new ArrayList<>();list.add(new A("1"));list.add(new A("2"));list.add(new A("3"));Iterator<A> itr = list.iterator();while(itr.hasNext()){ System.out.println(itr.next());}
而下面的就不能理解了
List<Integer> list = List.of(1, 2, 3); Iterator<Integer> it = list.iterator(); while(it.hasNext()){ System.out.println(it.next()); }
我看源码List并没有覆写iterator的方法为什么还能直接使用像hasNext() next()功能呢?
List.of 返回的是一个 ImmutableCollections 集合实现了 实现 Iterable 接口
List.of
ImmutableCollections
Iterable
Sign in to make a reply
永恒Saber
老师,我有一段代码弄不明白
我在ArrayList中找到了一个内部类
下面这段代码可以理解
而下面的就不能理解了
我看源码List并没有覆写iterator的方法为什么还能直接使用像hasNext() next()功能呢?