Circlelist[] tempArr = new Circlelist[radix];
// for (Circlelist tempList : tempArr) {
// tempList = new Circlelist();
// }
for (int l = 0; l < tempArr.length; l++) {
tempArr[l] = new Circlelist();
}
为什么第一个增强for循环不能对tempArr数组的每个成员进行初始化,而第二个普通的for循环却可以
JAVA增强for循环,只能对已初始化的tempArr数组进行操作,比如遍历
增强for循环是只读操作。
for (Circlelist tempList : tempArr) {
.........
}
相当于:
for (int i = 0; i < tempArr.length; i++) {
Circlelist tempList = tempArr[i]; //读取数组元素值放到一个临时变量中
....... //其它代码,使用这个临时变量
}
题目中第一个增强for循环,并没有实际改变数组元素的值,所以无法完成初始化操作。
用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!
Java 中新增的 foreach 的用法 你可以看看foreach的局限性
java增强for循环,类似这种
for (int l = 0; l < tempArr.length; l++) {
Circlelist circlelist = tempArr[l] ;
circlelist=new Circlelist();
}
所以只是改变了circlelist变量的指向,并没有给tempArr[l] 赋值