我有一个对象数组 - 所以本质上是一个对象引用数组。在我引用的类中,还有另一个引用。我需要初始化这个数据结构,但在初始化期间,它崩溃了。我试图在被引用的类中初始化引用,但它始终保持为空,所以有一些我还不理解的 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)的行,则没有异常陷阱,所以问题就在那里。
感谢任何可以向菜鸟解释这一点的人...