返回信息流要用foreach循环必须实现itableor接口,与一般for循环不一样。你可以看看该接口的实现原理。我认为是这样的,希望对你有帮助
这是一条镜像帖。来源:北邮人论坛 / java / #34595同步于 2014/9/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
Re: [问题]foreach循环求问~~~~~~~~~~~
zhang9647610
2014/9/13镜像同步19 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
你这个n用的有问题,n:a就代表n是a[]中每一个元素,而不是原来for中n从一开始加的那个意思
【 在 vgyijn (hello world) 的大作中提到: 】
: java小白遇到foreach问题求祝大神指导~~
: int[] a = new int[10];
: for(int n:a){
: ...................
for循环里第一步 先把n打印出来看看是啥呗
【 在 vgyijn (hello world) 的大作中提到: 】
: java小白遇到foreach问题求祝大神指导~~
: int[] a = new int[10];
: for(int n:a){
: ...................
ls说的对...你的a[n]没有被赋值过,编译器可能给默认都为0...这种for的方式不能赋值,应该用for(int n = 0; n < 10; n++) a[n] = n;
数组默认是全0的,然后foreach反编译之后的代码就是iterator.next的机制,所以,我的理解,这里的n顶多只是一个局部变量,每次被iterator.next赋值一下而已。
正解+1
【 在 melodyrain 的大作中提到: 】
: ls说的对...你的a[n]没有被赋值过,编译器可能给默认都为0...这种for的方式不能赋值,应该用for(int n = 0; n < 10; n++) a[n] = n;