Вы должны привести к Square
:
while(i.hasNext()){
Square temp = (Square) i.next();
}
Итератор вернет только Object
элементы типа.
С Java 1.5+ и generics Мы можем сделать это без приведения:
// a list, that will only accept Square instances
List<Square> test = new ArrayList<Square>();
public void main(){
test.add(new Square(10));
Iterator<Square> i = test.iterator();
while(i.hasNext()){
Square temp = i.next();
}
}