Ваш код пропускает несколько важных вещей, но первое, что вы хотите сделать, это либо привести значение, возвращаемое вызовом Iterator.next () (отсутствующее в вашем коде), либо использовать обобщенные значения, чтобы компилятор разбирал его за вас .
Две альтернативы выглядели бы примерно так (не пытались их скомпилировать, но они должны быть в основном правильными):
С литой:
ArrayList array = new ArrayList();
...
Iterator it1 = array.iterator();
while (it1.hasNext()){
Myclass temp = (Myclass)it1.next()
System.out.println (temp);
}
С генериками:
ArrayList<Myclass> array = new ArrayList<Myclass>();
...
Iterator<Myclass> it1 = array.iterator();
while (it1.hasNext()){
Myclass temp = it1.next()
System.out.println (temp);
}
Редактировать: Как кто-то еще указывает, использование конструкции foreach в большинстве случаев предпочтительнее для удобочитаемости. Я решил просто изменить ваш исходный код как можно меньше. Конструкция for будет выглядеть так:
ArrayList<Myclass> array = new ArrayList<Myclass>();
...
for(Myclass temp : array){
System.out.println (temp);
}