我正在使用 foreach 循环迭代一个空数组,并用对象填充它。 “案例”是一个具有多个方法和属性的类。
我的代码是这样的:
public class Test {
private Case [] list = new Case[5];
public Case [] test(){
for(Case myCase : list){
myCase = new Case();
}
return list; //This list contains 5 nulls, but should contain five "Case" objects.
}
public static void main(String[] args){
Test myTest = new Test();
myTest.test();
}}
从我的方法返回的列表包含 5 个空值,而我希望它包含 5 个实例化的“Case”对象。我怀疑这可能是某种可见性问题,但我无法弄清楚。
最佳答案
for-each 循环中使用的变量只是对数组元素当前值的引用。分配给该变量不会影响存储在数组中的值。您需要像这样使用 for 循环:
for (int i = 0; i < list.length; i++) {
list[i] = new Case();
}
关于java - 为什么我的方法返回一个空值数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29190695/