java吧 关注:1,246,492贴子:12,722,895
  • 8回复贴,共1

请问大神关于Foreach的问题。

只看楼主收藏回复

private int getIndexById(String id){
int asd = 0;
for(Object s:list){
Student stu=(Student)s;
if(stu.getId().equals(id));
{
return asd;
}
asd++;
}
return asd;
}
问下用Foreach 中 asd++为什么会出错


1楼2015-10-23 10:20回复
    自己顶一下


    2楼2015-10-23 10:22
    回复
      If 后面加分号干嘛


      IP属地:广东来自iPhone客户端3楼2015-10-23 10:24
      收起回复
        asd是在方法里面定义的
        Foreach语句也在方法当中,为什么就会不能实现这个语句呢?


        4楼2015-10-23 10:25
        回复
          这个bug良辰不会


          IP属地:陕西来自Android客户端6楼2015-10-23 10:49
          回复
            if的大括号最好跟在后面而不是另起一行,否则if后面就会莫名多了个分号


            IP属地:江苏来自Android客户端7楼2015-10-23 10:51
            回复
              foreach底层是迭代器,不支持任何除迭代访问的其他操作


              IP属地:湖北来自Android客户端8楼2015-10-23 12:51
              回复
                由于楼主If后面()加了分号。所以无论if条件是true或者false,结果都会执行return asd;那后面的代码就是不可到达的,所以报错。


                IP属地:广西9楼2015-10-23 15:14
                回复