小编KDM*_*KDM的帖子

如何在Java中创建对象数组

我正在尝试创建一个由子类定义的对象数组(我认为这是正确的术语).我可以看到问题是反复出现,但实施仍然存在问题.

我的代码

public class Test {

    private class MyClass {
        int bar = -1;
    }

    private static MyClass[] foo;

    public static void main(String args[]) {

        foo = new MyClass[1];
        foo[0].bar = 0;

    }       
}
Run Code Online (Sandbox Code Playgroud)

给出错误

线程"main"java.lang.NullPointerException中的异常.

为了使其合理化,我将其分解为最简单的术语:

public class Test {

    private static int[] foo;

    public static void main(String args[]) {

        foo = new int[1];
        foo[0] = 0;

    }       
}
Run Code Online (Sandbox Code Playgroud)

这似乎工作.我只是看不出我的两个例子之间的区别.(我知道我的第一个没有意义,但MyClass最终将包含更多数据.)

我很确定这里会问这个问题并得到很好的回答.我想我实施了解决方案:

MyClass[] foo = new MyClass[10];
foo[0] = new MyClass();
foo[0].bar = 0;
Run Code Online (Sandbox Code Playgroud)

但上面的第二行发出错误

不能访问类型为Test的封闭实例.

我确实理解ArrayList是一种前进的方式,但我正在努力掌握底层的概念.

注意 …

java arrays object

5
推荐指数
2
解决办法
6万
查看次数

标签 统计

arrays ×1

java ×1

object ×1