gpt4 book ai didi

java - Java 中类型对象的 ArrayList - 我似乎无法弄清楚的错误

转载 作者:行者123 更新时间:2023-11-29 06:49:56 24 4
gpt4 key购买 nike

我是 Java 的初学者。下面的代码是我创建一个 Student 类型的 ArrayList。我很确定我已正确完成所有操作,但输出不正确。

这是学生类声明:

public static class Student implements Comparable{
public String first;
public String last;
public Integer ID;

Student(String first, String last, Integer ID){
this.first = first;
this.last = last;
this.ID = ID;
}

//@Override
public int compareTo(Object obj) {
return this.ID.compareTo(((Student) obj).ID);
}
}

这是在 main 中创建的 ArrayList:

ArrayList<Student> arr2 = new ArrayList<Student>();
arr2.add(new Student("ol", "rr", 123));
arr2.add(new Student("iv", "tt", 321));
arr2.add(new Student("ia", "bg", 456));

这是要显示的行:

 System.out.println("Before sorting: ");    
System.out.println("\nObject: ");
System.out.println(arr2);

当我运行它时,没有编译错误,但是,这是输出屏幕上的内容:

排序前:目的:genericsort.BubbleSortArraylist$Student@1db9742

我不太确定哪里出了问题。谁能看到我没看到的东西?

最佳答案

您正在从 Student 隐式调用 toString - 它来自 java.lang.Object 之一,因为每个对象都继承自它(这不是错误)。

Student 覆盖 toString ,它看起来会更好,例如:

 public String toString(){
return "first = " + first + " second = " + second;
}

关于java - Java 中类型对象的 ArrayList - 我似乎无法弄清楚的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51855420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com