use*_*712 0 java generics iterator class arraylist
ArrayList array = new ArrayList();
Iterator it1 = array.iterator();
while (it1.hasNext()){
Myclass temp = it1.myGetterMethod();
System.out.println (temp);
}
Run Code Online (Sandbox Code Playgroud)
这是我想要实现的,但Iterator只返回一个通用的Object.当我打电话时Object.getClass(),课程是Myclass.这是否意味着Iterator不是通用的,每当我迭代非Java字符串等对象时,我都需要扩展Iterator类?
您没有创建通用ArrayList.
尝试
ArrayList<MyClass> array = new ArrayList<MyClass>();
Iterator<MyClass> it1 = array.iterator();
while (it1.hasNext())
{
MyClass temp = it1.myGetterMethod();
System.out.println (temp);
}
Run Code Online (Sandbox Code Playgroud)
最好使用for语句,因此隐藏迭代器的复杂性.它更容易阅读
for (MyClass temp: array )
{
System.out.println (temp);
}
Run Code Online (Sandbox Code Playgroud)