【发布时间】:2017-03-08 17:33:25
【问题描述】:
我是 Java 新手,我有一个 Student 类,还有一个我尝试在其中添加属性的类 - 学生列表。但是,当我尝试在该列表上调用 .add 时,它给了我一个错误:
private List<Student> listStuds = new ArrayList<Student>();
public void setStudents(Student... studs)
{
for (Student arg : studs) {
listStuds.add(studs);
}
}
它说它找不到任何合适的添加方法,知道为什么吗?
Error:(22, 25) java: no suitable method found for add(com.company.Student[])
method java.util.Collection.add(com.company.Student) is not applicable
(argument mismatch; com.company.Student[] cannot be converted to com.company.Student)
method java.util.List.add(com.company.Student) is not applicable
(argument mismatch; com.company.Student[] cannot be converted to com.company.Student)
【问题讨论】:
-
listStuds.add(arg); -- 解释:studs 是你的数组。 arg 迭代的当前学生。您不能使用 add 方法添加整个数组。
-
@BeginnersSake:但是它是一个数组,所以 for-each 有效。
-
这是一个Sutdent数组。看看异常
-
studs 是 Student 数组,而 arg 是 Student 类,你想把它改成 listStuds.add(arg)