-2

所以我在我的主类中创建了一个数组列表,名为:

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;
}

当用户将数据输入到文本字段时,我获取输入的文本并将其保存在其中一个变量下并将其添加到数组列表中。

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

当我将数据添加到数组时,(teamNoOne.add(job.gridRef);我不断收到错误消息

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

多谢你们

4

5 回答 5

2

您正在尝试在以下语句中将字符串添加到 Job 对象的数组列表中:

(teamNoOne.add(job.gridRef));

因为job.gridRef是一个String而不是一个Job对象。

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

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

teamNoOne.add(job);
于 2013-10-21T09:11:41.140 回答
1

你声明你的Collection(list)告诉只有Job对象并试图添加String's

您必须添加 Job 对象

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

进而

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

teamNoOne.add(job.gridRef);  //adding String/ wrong
于 2013-10-21T09:10:12.080 回答
0

由于您ArrayListJob对象的集合,因此您需要在其上添加/附加特定的Job

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

teamNoOne.add(job);
于 2013-10-21T09:13:21.610 回答
0

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

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

因此,您要做的就是将值分配给 Job 对象,然后您可以将其添加到上面的数组列表中。

于 2013-10-21T09:15:42.290 回答
0

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

Job job = new Job();
job.gridRef = tfGridRef.getText();
teamNoOne.add(job);
于 2013-10-21T09:18:13.903 回答