Чего вам не хватает, так это «расширенного цикла for», который использует Iterable
, Iterator
в Java, поскольку v1.2
Вы можете заменить любое вхождение
for( Object o : collection ) {
}
С
for( Iterator i = collection.iterator(); i.hasNext() ; ) {
Object o = i.next();
}
Первое является просто синтаксическим сахаром последнего (см. Скомпилированный код).
См .:
C:\>more > A.java
class A {
void m() {
for( Object o : new java.util.HashSet() ) {
}
}
}
^C
C:\>javac A.java
C:\>more > B.java
class B {
void m() {
for( java.util.Iterator i = new java.util.HashSet().iterator() ; i.hasNext() ; ) {
Object o = i.next();
}
}
}
^C
C:\>javac B.java
C:\>gvim -d a.d b.d
То же самое!