每当创建新实例时,我都希望用字符串值填充构造函数中的数组。当我尝试创建实例时,我的代码中出现以下错误。
Array initialiser not allowed here.
主类
public static void main(String[] args) {
.....
Activities coldDrink = new Activities("string", 1, 1, {"string", "stringOne", "stringTwo"});
....
}
Activity 类
public class Activities {
private String activityName;
private int numberEssentialSensors;
private int numberOptionalSensors;
private ArrayList sensorList = null;
Activities(String actName, int essSensors, int optSensors, ArrayList arrayValues) {
this.activityName = actName;
this.numberEssentialSensors = essSensors;
this.numberOptionalSensors = optSensors;
this.sensorList = arrayValues;
}
最佳答案
{"string", "stringOne", "stringTwo"}
是一个数组初始化表达式,而不是 ArrayList
。您可以使用new ArrayList(Arrays.asList("string", "stringOne", "stringTwo"))
相反。
最好使用ArrayList<String>
而不是原始类型。
Activities coldDrink = new Activities("string", 1, 1, new ArrayList<String>(Arrays.asList("string", "stringOne", "stringTwo"));
关于java - 在承包商中初始化未知大小的ArrayList - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33825929/