所以我在我的主类中创建了一个名为
的arraylistprivate 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)
谢谢你们
答案 0 :(得分:2)
您正尝试在以下语句中将String添加到Job对象的arraylist中:
(teamNoOne.add(job.gridRef));
因为job.gridRef
是String
而不是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>();
,teamNoOne
是Job
的列表。这意味着teamNoOne
需要Job
个对象。所以试试这样:
Job job = new Job();
job.gridRef = tfGridRef.getText();
teamNoOne.add(job);