我只是想更熟悉一下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);
}
}
答案 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>