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

Initialise ArrayList of unknown size in contractor - Java

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

Array initialiser not allowed here.

主要Class

public static void main(String[] args) {
    .....
    Activities coldDrink = new Activities("string", 1, 1, {"string", "stringOne", "stringTwo"});
    ....
}

活动Class

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