2017-03-08 58 views
1

我是Java新手,我有一個Student類,另一個類是嘗試添加一個屬性 - 學生列表。然而,當我嘗試調用。新增名單上,它給了我一個錯誤:Java無法添加到列表

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) 
+9

listStuds.add(arg); - 解釋:studs是你的數組。 arg是迭代的當前學生。您不能使用add方法添加整個數組。 –

+0

@BeginnersSake:然而,它是一個數組,因此每個工作。 –

+0

這是一個Sutdent數組。看看例外情況 – efekctive

回答

0

是寫

listStuds.add(ARG);

而不是 listStuds.add(studs);

0

您正在嘗試添加Student的完整數組,而不是每個循環只添加一個學生。

private List<Student> listStuds = new ArrayList<Student>(); 


    public void setStudents(Student... studs) 
    { 
     for (Student arg : studs) { 
      listStuds.add(arg); 
     } 

    }