当前位置: 首页 > 知识库问答 >
问题:

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

翟嘉祥
2023-03-14

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

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个答案

澹台宾白
2023-03-14

{“string”、“stringOne”、“stringTwo”}是数组初始化表达式,而不是数组列表。您可以使用新的ArrayList(Arrays.asList(“string”、“stringOne”、“stringTwo”))

最好使用ArrayList

Activities coldDrink = new Activities("string", 1, 1, new ArrayList<String>(Arrays.asList("string", "stringOne", "stringTwo"));

 类似资料:
  • 问题内容: 你可以通过执行以下操作来设置ArrayList的初始大小: 但是,你做不到 因为它会导致超出范围的异常。 如果无法访问分配的空间,设置初始大小有什么用? add函数的定义是,所以我不添加索引10。 问题答案: 你将数组列表的大小与其容量混淆了: 的大小是在列表中的元素的数目; 的容量是多少元素列表可以潜在地容纳而不重新分配其内部结构。 呼叫时,你是在设置列表的初始容量,而不是列表的大小

  • 我正在开发一个应用程序,使用户能够绘制图形,即边和节点。作为节点,我目前正在使用普通的JavaFX标签元素。在绘制边时,我需要考虑标签的边界,然而,标签的宽度和高度似乎只有在“绘制”它之后才初始化。E、 例如,启动应用程序时,标签边界的宽度/高度为0,但如果用户重新定位标签,则宽度/高度是正确的。 是否有可能强制JavaFX绘制当前元素?代码相当复杂,但下面给出了我想做的事情: 我还尝试将文本包装

  • 为什么我可以初始化ArrayList,如下所示: 但在使用时出错:

  • 问题内容: 显然,javac中初始化字符串的大小受到限制。谁能帮助我确定最大限额? 谢谢 编辑: 我们正在构建一个初始化字符串,看起来像这样的“ {1,2,3,4,5,6,7,8 ......}”,但理想情况下应包含10,000个数字。当我们为1000执行此操作时,10,000会引发错误,提示代码对于try语句而言太大。 为了产生这种效果,我们使用了一个stringbuilder并在附加值的数组上

  • 我的应用程序是基于Swing的。我想介绍JavaFX,并将其配置为在辅助显示器上呈现场景。我可以使用JFrame来保存JFXPanel,JFXPanel可以保存JFXPanel,但我希望使用JavaFX API来实现这一点。 将com.sun.glass.ui.application子类化并使用application.launch(这)不是一个选项,因为调用线程将被阻塞。 编辑:结论 问题:非平凡

  • 我有一个非常基本的问题。我需要如何为ArrayList键入parrameters才能在BlueJ中使用代码?我有一个方法如下。