将数据添加到另一个类的arrayList中

时间:2016-10-22 15:33:03

标签: java arraylist

我只是想更熟悉一下arrayList并制作一个测试程序。我只想将数据添加到另一个类的arrayList中。它说"类型Test中的方法add(arrayList)不适用于参数(String)"

 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中的类         package 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 :(得分:1)

  

&#34;类型Test中的方法add(arrayList)不适用于   arguments(String)&#34;

只是因为您尝试将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);
}

如果您想从课堂外访问自己的列表,可以在课程getter中添加Test,如下所示:

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

如果您要从课堂外创建的列表中初始化列表,可以在类Test中添加构造函数,如下所示:

private final List<String> floors;

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

NB:由于您是初学者,我提供了一个简单的答案,但请注意,直接使用来自课外的列表(如上面的构造函数或直接返回)并不是一个好习惯你的清单就像上面的吸气剂一样。一个好的做法是保护你的列表不受外部类的影响,以防止在构造函数的情况下复制提供的列表,并在getter的情况下返回列表的副本或列表的不可修改版本来防止错误。< / p>