2013-10-21 43 views
0

所以我有一个ArrayList数组列表返回随机数和不正确的数据

private static ArrayList<Job> teamNoOne = new ArrayList<Job>(); 

型工作,其中有

public class Job { 
    //public long time; 
    public int teamNo; 
    public String regNo; 
    public String gridRef; 

} 

然后我从文本框获取数据

Job job = new Job(); 
job.gridRef = tfGridRef.getText(); 

这一切工作,打印到系统等

当我把它添加到ArrayList,并使用下面的代码打印出来:

teamNoOne.add(job); 

System.out.println(teamNoOne.get(0)); 

我刚刚得到这个:[email protected]

不能为我的生活弄清楚为什么,

欢呼

+0

尝试System.out.println(teamNoOne.get(0).getText()); 您正在看到对象标识符。 – struthersneil

回答

4

当使用sysout打印对象时,将调用其toString方法。如果toString方法未在类中重写,则将使用其默认实现。对象的默认实现toString方法打印由@符号分隔的对象的哈希代码的类名称和无符号十六进制表示。

您需要覆盖Job类中的toString方法以便以相当的方式打印对象。大多数IDE提供了一种自动生成toString方法的方法。这里是通过eclipse生成的:

@Override 
public String toString() { 
    return "Job [teamNo=" + teamNo + ", regNo=" + regNo + ", gridRef=" 
      + gridRef + "]"; 
} 
+0

@ user2761143是的,将它添加到工作类,并看到魔术;-) –

+0

你真了不起,感谢堆! – Javanoob33

+0

@ user2761143没有probs,只要接受答案,如果它有帮助。接受答案有助于其他人面临同样的问题。 –