黑马程序员技术交流社区

标题: 迭代器的问题 [打印本页]

作者: Aaron9527    时间: 2016-5-30 23:14
标题: 迭代器的问题
class Student{
        private String name;

        public Student(String name) {
                super();
                this.name = name;
        }

        public Student() {
                super();
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }
       
}

public class HomeWork {
        public static void main(String[] args) {
                ArrayList<Student> list = new ArrayList<>();
                list.add(new Student("姜子牙"));
                list.add(new Student("红豆芽"));
                list.add(new Student("绿豆芽"));
               
                ListIterator<Student> it = list.listIterator();
                while(it.hasNext()){
                        Student stu = it.next();
                        System.out.println(stu.getName());
                }
        }
}
这样写是正确的,但是当我把Student stu = it.next();去掉,下面改成System.out.println(it.name);确是地址值,是怎么回事
作者: hero_king    时间: 2016-5-30 23:19
不知道什么原因,但是谁会这么用呢
作者: zycjiu150    时间: 2016-5-30 23:27
应该是要重写toString方法吧
作者: lifeiwangyue    时间: 2016-5-30 23:55
it  是迭代器  name是Student的成员变量还是私有的 会报错的啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2