我有一个对象数组-本质上是一个对象引用数组。在我所引用的类中,还有另一个引用。我需要初始化此数据结构,但在初始化期间会崩溃。我正在尝试在引用的类中初始化引用,但是它始终为null,因此有些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=0i<255i++)
{
buffer[i] = new ref2()
buffer[i].myRef = new ref1() // (1) ALWAYS returns null????
}
最终,上面的代码将在我具有(1)标记的行上崩溃,并带有“ ArrayOutOfBoundsException”。我在调试器中注意到的第二件事是myRef始终设置为null。为什么无法创建和引用ref1对象?
如果我注释掉标有(1)的行,则没有异常陷阱,因此问题就在那里。
那要看数组元素是干什么了
比如是基础类型,如int,long byte 等等 ,那肯定都不是空,默认为0
如果是Object,直接判断就可以了,比如
Object [] objs = new Object[2]if(objs[0] == null) {
//这样处理就好了
}