2017-03-08 10 views
1

私はJavaで新しく、私はStudentクラスと、属性を追加しようとする別のクラス - 学生のリストを持っています。私はそのリストに.add呼び出すしようとすると、しかし、それは私にエラーを与える: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); - 説明:スタッドがあなたの配列です。その反復の現在の生徒をargします。 addメソッドを使用して配列全体を追加することはできません。 –

+0

@BeginnersSake:それは配列ですが、それぞれのために動作します。 –

+0

Sutdentの配列です。例外を見てください – efekctive

答えて

0

はい

listStuds.add(引数)を書き込みます。

の代わりにlistStuds.add(studs);

0

あなたはStudentの完全な配列を追加しようとしていますが、ループごとに1人の学生しか追加しません。

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


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

    } 
関連する問題