2015-12-07 87 views
1
import java.util.ArrayList; 
import java.util.Random; 

    public class College 
    { 
     // instance variables - replace the example below with your own 
     private ArrayList<Student> students; 

    public College() 
     { 
      // initialise instance variables 
      ArrayList<Student> students = new ArrayList<Student>(); 
      students.add("Student 1"); 
      students.add("Student 2"); 
      students.add("Student 3"); 

     } 
    } 

基本上,它突出顯示錯誤消息「java.lang.IllegalArgumentException:綁定必須是正面的」.add,我不明白我在這裏做錯了什麼?我看了很多這類問題的線程在這裏,但我做了什麼,他們做了「在列表構造函數中找不到適用於add(java.lang.String)的方法?

+0

將您的'學生類'添加到您的帖子 –

回答

7

你加入String s至參數化採取StudentList

當然這不會編譯。

  • 添加一個構造函數,以您的Student類,採取String參數(以及相關的邏輯之內)。
  • 然後,使用下面的語句:students.add(new Student("Student 1"));

要注意的是,仿製藥在那裏正是在那個階段失敗編譯。

如果你已經使用了原始List(Java的4式),您的代碼將編譯,但邪惡的種種會在運行時發生,因爲你所期望Student對象包含在你的List,但你會得到String

2

你可以顯示Student類的代碼嗎?就像其他人所說的,你有一個學生arraylist,併發送一個字符串。這是一個無效的論點。

如果你的學生類需要進行初始化字符串,你可以嘗試:

ArrayList<Student> students = new ArrayList<Student>(); 
students.add(new Student("Student 1")); 
1

ArrayList中,private ArrayList<Student> students只能接受Student objects.You嘗試添加String它。

如果您想要列表接受字符串,其定義是這樣的:private ArrayList<String> student

或者,如果您想要列表是Student的對象,然後從字符串(構建Student對象如何依賴於Student對象)並將該對象添加到列表中。

+0

謝謝我只是意識到我現在做錯了什麼,非常感謝 – anony

相關問題