为了账号安全,请及时绑定邮箱和手机立即绑定
关注
qq_慕尼黑5385346

为什么用foreach不行?有人能解释一下吗?

for(int num : nums){

num=(int)(Math.random()*100);

}

2020-04-22 源自:Java入门第一季 7-9 691 浏览 3 回答

最佳回答

2020-04-23

从别人那里转载过来的,我觉得说的很对。不能用foreach修改成员,只能用来遍历...foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。

foreach只能抓取对象并不能改变赋值。就是不会递增,一直抓取的都是0

2020-04-26
1

for (int num : nums) {

            

// 产生一个100以内的随机数,并赋值给数组的每个成员

            num=(int)(Math.random()*100);

输出:

[0, 0, 0, 0, 0, 0, 0, 0]

虽然通过了,这是副作用对吧


2020-04-23
0

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信