Java arraylist没有返回正确的数据

时间:2013-10-21 09:08:57

标签: java arraylist

所以我在我的主类中创建了一个名为

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

它的类型是Job,它位于带有变量的另一个java文件中;

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

当用户将数据输入文本字段时,我会输入文本并将其保存在其中一个变量下并将其添加到arraylist中。

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

当我将数据添加到数组(teamNoOne.add(job.gridRef);时,我一直收到错误

  

类型ArrayList中的方法add(Job)不适用于参数(String)

谢谢你们

5 个答案:

答案 0 :(得分:2)

您正尝试在以下语句中将String添加到Job对象的arraylist中:

(teamNoOne.add(job.gridRef));

因为job.gridRefString而不是Job对象。

您应该尝试将Job对象添加到列表中,如下所示:

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

teamNoOne.add(job);

答案 1 :(得分:1)

您声明Collection(list)告诉您只有Job个对象,并尝试添加String's

您必须添加作业对象

List<Job> teamNoOne = new ArrayList<Job>();

然后

teamNoOne.add(job);  //adding job obj //correct

teamNoOne.add(job.gridRef);  //adding String/ wrong

答案 2 :(得分:0)

由于您的ArrayList作业对象的集合,因此您需要在其上添加/追加特定的作业

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

teamNoOne.add(job);

答案 3 :(得分:0)

当您创建某个对象类型的数组列表时,您必须将相同类型的对象传递给add方法,

 ArrayList<ObjectType> arrayListName = new ArrayList<ObjectType>();
   arrayListName.add(objectOfGivenType);

所以你需要做的是将值分配给Job对象,然后你可以将它添加到数组列表中。

答案 4 :(得分:0)

似乎job.gridRef似乎是String,但您可以从中看到 private static ArrayList<Job> teamNoOne = new ArrayList<Job>();teamNoOneJob的列表。这意味着teamNoOne需要Job个对象。所以试试这样:

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