2016-10-22 98 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

相关问题