在这里,您有一个解决方案,它生成数组而不是修改先前定义的变量:
String[][] array = IntStream.range(0, 3) .mapToObj(x -> IntStream.range(0, 3) .mapToObj(y -> String.format("%c%c", letter(x), letter(y))) .toArray(String[]::new)) .toArray(String[][]::new);
如果要使用并行流,那么避免诸如修改变量(数组或对象)之类的副作用非常重要。这可能会导致竞争状况或其他并发问题。您可以在java.util.stream软件包文档中了解有关此内容的更多信息-请参见“ 无 干扰” ,“ 无状态行为” 和 “副作用” 部分。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)