java - 为什么这个简单的代码会抛出 NullPointerException?

标签 java arrays

public class AClasse {
 String a;
 public AClasse(String a){
    this.a = a;
 }

 public static void main(String[] args){
    AClasse[] clases = new AClasse[10];
    clases[0].a = "?"; // the exception is in this line 
 }
}

原因是什么以及正确的等效陈述是什么。

最佳答案

问题是 clases[0]null 并且您正尝试对其执行某些操作。检查以下代码:

public class AClasse {
    String a;

    public AClasse(String a) {
        this.a = a;
    }

    public static void main(String[] args) {
        AClasse[] clases = new AClasse[10];
        // clases[0].a = "?"; // the exception is in this line

        System.out.println(clases[0]);

        // Do it as follows
        clases[0] = new AClasse("?");
    }
}

输出:

null

关于java - 为什么这个简单的代码会抛出 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60012314/

相关文章:

arrays - 我怎样才能在 Swift 中读取这个多维数组呢?

java - JavaEE 项目中的 Netbeans 错误

c++ - 如果 x 在编译时已知,我应该使用 T foo[X] 而不是 T *foo 吗?

javascript - 如何在Javascript中更改数组中字符串的颜色,以便它可以在浏览器上显示

c++ - 使用数组模板参数返回

javascript - 获取js对象中value对应的key

Java 继承错误 : Implicit Super Constructor is undefined

java - 是什么压倒了我的首选尺寸? (J面板)

java - 尝试读取用户输入时出现 NumberFormatException

java - 如何将ImageView链接到指定的电话号码?