所以我有一个名为Employee的类,我在另一个类中创建了ArrayList
。我试图打印列表的值,但他们打印每个元素的对象引用。我忘记了怎么做,我试过在其他地方查找,但似乎无法找到答案。
以下是员工类:
public class Employee {
int employeeID;
String employeeName;
public Employee(int employeeId, String employeeName){
this.employeeID = employeeId;
this.employeeName = employeeName;
}
...
这是我打印我的值的地方:
public void printArrListValues() {
for(Employee x: employeeList){
System.out.println(x);
}
// Arrays.toString(employeeNameLst);
}
我确实尝试在x上使用.toString()
,但这并没有解决问题。
控制台将此打印给我:
binarytree.Employee@78da5318
binarytree.Employee@45858aa4
binarytree.Employee@425138a4
binarytree.Employee@625db8ff
binarytree.Employee@771c9fcc
binarytree.Employee@783f472b
binarytree.Employee@25995ba
binarytree.Employee@4774e78a
BUILD SUCCESSFUL (total time: 0 seconds)
答案 0 :(得分:3)
当您将对象传递给println
时,最终会调用toString()
。由于您没有覆盖toString()
,Employee
继承了Object
's toString()
method,后者负责您看到的输出。
换句话说,此方法返回一个等于值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
覆盖toString
中的Employee
,并在打印String
时返回您想要的Employee
。
答案 1 :(得分:0)