我正在练习ArrayList程序。我想问一下这行的含义。
Student st = (Student)itr.next();
public static void main(String[] args) {
Student s1 = new Student(1,"owelcute",28);
Student s2 = new Student(2,"lucas",2);
Student s3 = new Student(3,"jor",30);
ArrayList <Student> studentList = new ArrayList<Student>();
/*
declaring class Student in ArrayList
*/
studentList.add(s1);
studentList.add(s2);
studentList.add(s3);
Iterator itr = studentList.iterator();
while(itr.hasNext()){
Student st = (Student)itr.next();
System.out.println(st.rollno + " "+ st.name + " "+ st.age);
}
}
答案 0 :(得分:1)
Student st
创建一个类型为Student的变量st。
=(Student)itr.next();
将st设置为itr(迭代器)指向的下一个元素的值。 (学生)是确保
itr.next();
属于学生类型。
答案 1 :(得分:0)
这在iterator.next
的文档中进行了说明:它获取迭代中的下一项。
如果强制转换(Student)
使您感到困惑,那部分是因为代码错误地使用了原始Iterator
类型。
代码应该更正确:
Iterator<Student> iterator = studentList.iterator();
while (iterator.hasNext()) {
Student student = iterator.next();
...
}
或者,甚至更好:
for (Student student: studentList) {
...
}