在承包商中初始化未知大小的ArrayList - Java

时间:2015-11-20 11:43:59

标签: java arraylist constructor initialization

我希望每当创建新实例时,在构造函数中使用字符串值填充数组。当我尝试创建实例时,我的代码中出现以下错误。

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;

  }

1 个答案:

答案 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"));