我有一个对象数组 - 所以本质上是一个对象引用数组。在我引用的类中,还有另一个引用。我需要初始化这个数据结构,但在初始化期间,它崩溃了。我试图初始化引用类中的引用,但它始终保持为空,因此有一些我还不理解的 Java“东西”。这看起来很简单,但又很令人沮丧。这是该问题的一个简化示例:
public class ref1
{
public int myInt;
}
public class ref2
{
public ref1 myRef;
}
public ref2 buffer[];
int i;
// Code to initialize the above data structures:
buffer = new ref2[255];
for (i=0; i<255; i++)
{
buffer[i] = new ref2();
buffer[i].myRef = new ref1(); // (1) ALWAYS returns null????
}
最终,上面的代码将在我有 (1) 标记的行处崩溃,并出现“ArrayOutOfBoundsException”。我在调试器中注意到的第二件事是 myRef 始终设置为 null。为什么我无法创建和引用 ref1 对象??????
如果我注释掉标有(1)的行,则没有异常陷阱,因此问题就在那里。
感谢任何可以向菜鸟解释这一点的人...
最佳答案
salam package cruft;
/**
* BadRef description here
* @author Michael
* @link
* @since 6/25/12 5:53 PM
*/
public class BadRef {
public static void main(String[] args) {
ref2 buffer[] = new ref2[255];
for (int i = 0; i < 255; ++i) {
buffer[i] = new ref2();
关于Java 对象数组在初始化期间崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11197825/