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

标签 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"});
    ....
}

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/

相关文章:

java - 对数组列表进行排序

java - 仅打印数组的元素

java - org.openqa.selenium.InvalidElementStateException : invalid element state: SyntaxError

java - Jenkins + 玩 1.2.4 : problems with cobertura lock files/report

java - 需要一个正则表达式来验证 java 字符串

Java 根据值顺序对对象列表进行排序(例如 d、s、a、q、c)

java - Android中的子列表Arraylist

c++ - 为什么 C++ 没有 const 构造函数?

php - 如果子类不定义构造函数,是否可以直接使用父类(super class)的构造函数?

java - 如何删除构造函数中的重复代码?