为了账号安全,请及时绑定邮箱和手机立即绑定

stream api为什么不能改变数组元素

stream api为什么不能改变数组元素

fenkapian 2018-05-25 21:45:14
int[]a=new int[3]; Arrays.stream(a).forEach(q -> q = 3); System.out.println(Arrays.toString(a));为什么数组的元素还是int的初始值呢  为什么没有改成3
查看完整描述

2 回答

已采纳
?
慕移动4708697

TA贡献45条经验 获得超22个赞

int[] a = new int[3];
a= Arrays.stream(a).map(n->n=3).toArray();
System.out.println(Arrays.toString(a));

forEach方法只是遍历数组 不能修改数组里面的值。map可以按照规则把元素转换成为另外一个元素,这样可以实现你的效果。如果满意请采纳额。

查看完整回答
反对 回复 2018-05-26
?
zzZerOrz

TA贡献101条经验 获得超28个赞

因为q是整形,不是引用型变量,而且是局部变量

查看完整回答
反对 回复 2018-05-25
  • 2 回答
  • 0 关注
  • 1856 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号