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

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 关注
  • 1757 浏览

添加回答

举报

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