报错看不懂!

报错看不懂!

//2,打印输出cat的信息

if(flag){

System.out.println("花花找到了2");

System.out.println(c);

}else{System.out.println("花花没找到");

}

//删除花花二代的信息

for(Cat cat:set){

if("花花二代".equals(cat.getName())){

set.remove(cat);

}

}

System.out.println("******************");

System.out.println("删除花花的信息");

for(Cat cat:set){

System.out.println(cat);}

}

}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答
for(Cat cat:set){
if("花花二代".equals(cat.getName())){
set.remove(cat);//加个break语句
}
}

集合不允许遍历过程中进行数据的修改和删除,所以要在remove方法调用后加break语句,删除后就不要再继续遍历集合了,否则会发生错误。祝学习愉快!

  • J_Targaryen 提问者 #1
    非常感谢!
    2017-09-11 18:35:05
  • dadaz #2
    为什么花花二代就不会报错呢
    2017-09-12 16:27:59
  • 如果是删除的集合的最后一个元素就不报错,因为接下来就不用继续遍历集合了。
    2017-09-12 18:06:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师