Java 使数组元素为空
这两件事是一样的吗Java 使数组元素为空,java,arrays,null,Java,Arrays,Null,这两件事是一样的吗 for(int i=0; i<array.length; i++){ array[i] = null; } 不,第一个将使数组的每个元素都为null,数组的长度仍然是array.length,第二个将数组变量设置为null。一点也不 在第一种情况下,将数组中的所有引用设置为null 在第二种情况下,您将对数组本身的引用设置为null。一个小片段来显示差异: // declare a array variable that can hold a reference. S
for(int i=0; i<array.length; i++){
array[i] = null;
}
不,第一个将使数组的每个元素都为null,数组的长度仍然是array.length,第二个将数组变量设置为null。一点也不 在第一种情况下,将数组中的所有引用设置为null
在第二种情况下,您将对数组本身的引用设置为null。一个小片段来显示差异:
// declare a array variable that can hold a reference.
String [] array;
// make it null, to indicate it does not refer anything.
array = null;
// at this point there is just a array var initialized to null but no actual array.
// now allocate an array.
array = new String[3];
// now make the individual array elements null..although they already are null.
for(int i=0;i<array.length;i++)
{
array[i] = null;
}
// at this point we have a array variable, holding reference to an array,
// whose individual elements are null.
//声明一个可以保存引用的数组变量。
字符串[]数组;
//将其设为null,表示它不引用任何内容。
数组=空;
//此时,只有一个初始化为null的数组变量,但没有实际的数组。
//现在分配一个数组。
数组=新字符串[3];
//现在将单个数组元素设为null..尽管它们已经为null。
对于(inti=0;iNo),这是不一样的
事实上,要使第一段代码正确运行,数组变量应该像这样声明和初始化(例如)
这将创建一个由5个元素组成的数组,每个元素都有一个null
值
一旦你有了这个,在第一个例子中,你要做的是给每个数组[i]
元素分配一个空值。array
将不会是null
。所以你应该有这样的东西
数组->
- 数组[0]->null
- 数组[1]->null
- 数组[2]->null
- 数组[3]->null
- 数组[4]->null
通过执行array=null
可以说明数组不再引用该元素数组
array->null两者都不起作用!如果您有一个整数数组,并且试图将元素设为null,则无法执行此操作
arr[i]=null;
因为整数不能转换为null。在第一条语句array=null;
之后,您的语句“…只是对字符串的引用…”不太正确。这确实是一个可以保存引用的变量,但没有引用。只有一个引用用于数组变量。
// declare a array variable that can hold a reference.
String [] array;
// make it null, to indicate it does not refer anything.
array = null;
// at this point there is just a array var initialized to null but no actual array.
// now allocate an array.
array = new String[3];
// now make the individual array elements null..although they already are null.
for(int i=0;i<array.length;i++)
{
array[i] = null;
}
// at this point we have a array variable, holding reference to an array,
// whose individual elements are null.
Object[] array = new Object[5];