Tee*_*eee -1 java arrays foreach null for-loop
我试图在定义的类的数组中将所有元素设置为null.我刚学会了for-each循环的用法,所以我尝试了以下内容:
for(MyClass element:array){
element=null;
}
Run Code Online (Sandbox Code Playgroud)
但是这在编译后不起作用,并且有一个警告"不使用局部变量元素的值".我尝试了一个正常的for循环,它按预期工作:
for(int i=0;i<array.length;i++){
array[i]=null;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么for-each循环不起作用?我对它的用法有误解吗?
考虑您有以下示例:
String array[] = {"Hello", "Java"};
for (String element : array) {
element = null;
}
Run Code Online (Sandbox Code Playgroud)
实际上,element是一个变量,我可以在我的循环中使用而不是我的数组的真实元素,这相当于:
String array[] = {"Hello", "Java"};
for (int i = 0; i < array.length; i++) {
String element = array[i];
element = null;
}
Run Code Online (Sandbox Code Playgroud)
因此,在使用时element = null,这不会更改array(array[i])的值.
希望你明白.