美文网首页
集合中对象的存放

集合中对象的存放

作者: 旅丶 | 来源:发表于2018-06-30 10:29 被阅读0次

    假如有一个Student类,有学号、姓名、年龄等属性,需要我们把一系列的Student对象通过手动输入的方式存入集合当中:

    Student stu = new Student();

    while(true) {

        stu.setId(scanner.nextInt());

        stu.setName(scanner.next());

        stuList.add(stu);

    }

    显然,这个方法是行不通的。

    尽管stu的属性被改变,每次stuList添加的对象似乎都有着不一样的属性,但是最终的结果只会是出现一系列相同的stu对象。没错,集合的添加,添加的并非是一个个的实例,而是这个实例所对应的引用地址。

    我们用for(Student dt : stuList){

            system.out.println(dt);

          }

    可以发现,这里打印的是相同的对象。

    所以上面的代码应该改成:

    Student stu;

    while(true) {

        stu = new Student();

        stu.setId(scanner.nextInt());

        stu.setName(scanner.next());

        stuList.add(stu);

    }

    这样stu每次都指向了不同的对象,每次添加的引用也是不一样的。

    相关文章

      网友评论

          本文标题:集合中对象的存放

          本文链接:https://www.haomeiwen.com/subject/gnhtuftx.html