java - 如何在构建方法期间为 Java 类的 ArrayList 成员变量赋值?

标签 java arraylist

我有一个类,其中包含 ArrayList 作为成员变量

public class Tile {
     private final String Name;
     private final ArrayList<Integer> sides;

     public Tile (String name, int up, int right,int down, int left){

        this.Name = name;
        this.sides.add(up);

    }
}

因此,当我创建 Tile 对象时,我想将上、右、下、左值设置为 Tile 类的 4 个对象数组。使用上面的代码,我从 NetBean 收到错误“变量边可能尚未初始化”。我不确定这意味着什么,因为我正在尝试使用构建方法初始化它。

向 NetBean 寻求帮助最终得到以下结果,并出现相同的错误。

this.sides.set(0, up);

我是 Java 新手,所以如果有人可以提供一些,我正在寻找一些关于我无法理解的概念的说明。

谢谢

最佳答案

您收到消息变量面可能尚未初始化,这已经解释了您的问题。您必须首先初始化 Sides 数组列表。

像这样:

private final ArrayList<Integer> sides = new ArrayList<>();

或者在将对象添加到 side 列表之前在构造函数中,如下所示:

public Tile (String name, int up, int right,int down, int left){
    sides = new ArrayList<Integer>();
    this.Name = name;
    this.sides.add(up);
}

关于java - 如何在构建方法期间为 Java 类的 ArrayList 成员变量赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38113019/

相关文章:

Java Netbeans 8.0 Jframe GUI 程序 - arraylist 中的每个索引值未显示在 jtextArea 中的单独行上

java - 如何解决 StackOverflow 错误?

Java:通过套接字向/从用 C 编码的程序发送/接收 int 数组

java - 在数组列表中搜索名称并显示所有名称

java - pi4j-maven 原型(prototype)支持通过 Intellij Idea 中的 Maven

java - 用 Java 实现里程表

java - arraylist 中的 NullPointerException

java - 方法追加消息的次数与相应数组中的消息的次数相同

java - 使用 getRuntime().exec() 复制文件

java - 无法使用 Java 正确分割字符串