ArrayList array = new ArrayList();
Iterator it1 = array.iterator();
while (it1.hasNext()){
Myclass temp = it1.myGetterMethod();
System.out.println (temp);
}
이것은 구현하려는 것이지만 Iterator는 일반 객체 만 반환합니다. Object.getClass()
으로 전화하면 클래스는 Myclass
입니다. 이것은 Iterator가 일반적이지 않다는 것을 의미합니까? 자바 문자열이 아닌 객체를 반복 할 때마다 Iterator 클래스를 확장해야합니까?Iterator에서 특정 클래스 메서드를 호출 할 수없는 이유는 무엇입니까?
'Iterator'를'Iterator '으로 일반화해야합니까? 아니요. 또는 'for (MyClass c in array)'로 바로 가십시오. –
@Michael Brewer-Davis : 자동으로 수행됩니다. 제네릭을 사용하는 컬렉션은 해당 반복자를 반환합니다. 그래도 올바르게 선언해야합니다. – Fredrik
@ curlingdude : 이제 답변을 수락하면 어쩌면 수정해야할까요? "MyClass"와 "Myclass"를 혼합하면 "Iterator it1"선언에서 완전히 생략됩니다. – Fredrik