关于java迭代器的问题

1   List<Student> list = new ArrayList;                                //student 为定义的一个student类含有name,age属性

2   for(Iterator<Student> i = list.iterator() ; i.hasNext(); ){

3   Student s = i.next();

4   System.out.println("name:"+s.name+"    "+"age:"+s.age);

   }


为什么不能把第三行改成

String s = i.next().name;

int age = i.next().age;

qq_小飞_21
浏览 1406回答 3
3回答

qq_青枣工作室_0

你连续用两了个i.next(),其中的第二个i.next()可没有判断i.hasNext()哦

Caballarii

每执行一次next()就会取到下一个对象,所以你这样写的话age就取到下一个对象的age

qq_小飞_21

可是就算取到下一个对象也会输出的啊,他报出一个异常
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java