i++在javastream的map方法中的应用
在代码中,我想通过map()
方法修改变量i
:
Integer[] seq = {1, 3, 4, 1, 8, 11};
List<Integer> seqInt = Arrays.asList(seq);
List<Integer> seqFiltered = seqInt.stream().filter(i -> i%2!=0)
.map(i -> i++)
.collect(Collectors.toList());
System.out.println(seqFiltered);
然而,它输出的是[1, 3, 1, 11]
,而不是可以从map(i -> i+1)
获得的[2, 4, 2, 12]
# 1 楼答案
只需使用pre-increment而不是post-increment操作符
此外,还可以使用
Arrays.stream
将整数数组用作流