java - 迭代器添加了错误的地址

标签 java data-structures iterator iteration

在我的程序中,我添加了另一个类类型的 ArrayList,但是当我迭代该列表时,我得到了错误的地址。 例如我的代码是

    ArrayList<Student> stdntList = new ArrayList<Student>();
    stdntList.add(new Student("Candace","633501"));
    stdntList.add(new Student("Curtis ","634572"));
    stdntList.add(new Student("Amber","623343"));
    System.out.println(stdntList);

    Iterator itr = stdntList.iterator();
    while(itr.hasNext())
    {
        System.out.println("Student: " + itr.next());
    }

我的输出是

Student Name: Candace Student ID633501
Student Name: Curtis  Student ID634572
Student Name: Amber Student ID623343
[Student@659e0bfd, Student@2a139a55, Student@15db9742]
Student: Student@659e0bfd
Student: Student@2a139a55
Student: Student@15db9742

最佳答案

为了获取地址,您可能应该打印类似这样的内容 System.out.println("Student: "+ itr.next().getAddress());

就像现在一样,它会打印 .toString() 方法上的所有内容。您必须重写此方法才能通过仅调用对该类的引用来打印地址。

关于java - 迭代器添加了错误的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42908300/

相关文章:

java - 商业智能和 NoSQL

java - 从图表模型生成 Java 代码

java - 借助小程序运行网页中的普通Jar文件

java - 可以用不同的 Number 返回类型覆盖接口(interface)方法吗?

algorithm - 什么是Splay树、红黑树、AVL树、B树和T树?

java - 如何从 HashMap 中找到最高键值

Swift 惰性笛卡尔积

java - 为什么java注解可以包含字段甚至类?

java - 用于保存成对数据频率计数的数据结构?

reference - 迭代器通过引用返回项目,生命周期问题