2016-10-22 94 views
1

我只是想更熟悉一下arrayList並製作一個測試程序。我只想將數據添加到另一個類的arrayList中。它說,「Add方法(ArrayList中)在型式試驗是不適用的參數(字符串)」將數據添加到另一個類的arrayList中

package arrayList; 

import java.util.ArrayList; 
import java.util.List; 

public class arrayList 
{ 

    public static void main(String[] args) throws Exception 
    { 
    ArrayList<String> cityList = new ArrayList<String>(); 
    // Add some cities in the list 

    Test add = new Test(); 

    add.add("Dallas"); 

    System.out.print(cityList); 
} 
} 

這裏是添加數據到ArrayList中 包的ArrayList類;

import java.util.ArrayList; 
import java.util.List; 

public class Test 
{ 
    public final ArrayList<arrayList> floors = new ArrayList<>(); 

    public void add(arrayList cityName) 
    { 
    floors.add(cityName); 
    } 
} 
+1

什麼問題? –

+0

@DaveNewton,對不起,我編輯它。這是一個編譯器錯誤。 – mrprogrammer231

+0

是否要添加到「樓層」數組或「cityList」數組? – Bitonator

回答

1

「的型式試驗方法Add(ArrayList的)是不適用的 參數(字符串)」

很簡單,因爲你嘗試將String添加到ArrayList<arrayList>而只有預期類型爲arrayList的對象。

更改您的代碼旁邊可以添加String到您的列表:

// My list of String 
private final List<String> floors = new ArrayList<>(); 

public void add(String cityName) { 
    // Add a String to my list of String 
    floors.add(cityName); 
} 

如果你想從類外部訪問到您的列表,你可以添加一個getterTest類,像這樣:

public List<String> getFloors() { 
    return floors; 
} 

如果你想從你的類之外創建一個列表初始化列表,你可以一個構造函數添加到您的Test類,像這樣:

private final List<String> floors; 

public Test(List<String> floors) { 
    this.floors = floors; 
} 

注:正如你我提供了一個簡單的答案,但請注意,這不是直接使用一個很好的做法初學者在類的外部到來就像在上面的構造函數列表或者像上面的getter一樣直接返回你的列表。一個好的做法是保護你的列表免受外部類的影響,通過在構造函數的情況下複製提供的列表來防止錯誤,並且在getter的情況下返回列表的副本或列表的不可修改版本。

+0

我應該如何將其更改爲接受其他課程數據的地方? – mrprogrammer231

+0

我不確定我是否理解你的問題,請你澄清一下嗎? –

+0

這只是在Test類中創建一個新的arrayList,而不是我真正的arrayList類,不是嗎? – mrprogrammer231

相關問題