Java 对象数组在初始化期间崩溃

标签 java arrays

我有一个对象数组 - 所以本质上是一个对象引用数组。在我引用的类中,还有另一个引用。我需要初始化这个数据结构,但在初始化期间,它崩溃了。我试图初始化引用类中的引用,但它始终保持为空,因此有一些我还不理解的 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/

相关文章:

java - 将不同长度的列表添加到数组中

arrays - ConvertFrom-StringData无法转换为哈希表

java - 在项目的构建路径中检测到一个循环...eclipse

java - JPA Eclipselink 数据库更改通知不会使缓存条目无效

Java char[] array jPasswordField处理和SQL更新语句

java - 使用 printf 在 java 中格式化输出

java - 如何在Java中将分割后的字符串存储为数组?

java - 这个项目进展如何?

PHP - 尝试创建一个复选框数组,

java - Cucumber-JVM:根据场景的可视文本执行另一个 Scenario/ScenarioOutline 中的步骤