我希望每当创建新实例时,在构造函数中使用字符串值填充数组。当我尝试创建实例时,我的代码中出现以下错误。
Array initialiser not allowed here.
主类
public static void main(String[] args) {
.....
Activities coldDrink = new Activities("string", 1, 1, {"string", "stringOne", "stringTwo"});
....
}
活动类
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;
}
答案 0 :(得分:3)
{"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"));