如何在字符串中打印出数组列表的值?

时间:2015-01-09 23:27:23

标签: java arraylist

所以我有一个名为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)

2 个答案:

答案 0 :(得分:3)

当您将对象传递给println时,最终会调用toString()。由于您没有覆盖toString()Employee继承了Object's toString() method,后者负责您看到的输出。

  

换句话说,此方法返回一个等于值的字符串:

getClass().getName() + '@' + Integer.toHexString(hashCode())

覆盖toString中的Employee,并在打印String时返回您想要的Employee

答案 1 :(得分:0)

  1. 您可以在类员工
  2. 中覆盖方法toString
  3. 或x.getter methods