使用此流,我试图重新分配变量c的流内部,以每次绘制不同的结果。我试图在流之外使用foreach循环,但是我意识到它是徒劳的,因为它不会在流中发生。爪哇 - 映射流变量再分配
我已作了评论,我试图做到这一点。
List<Hills> hills = readHills();
Set<String> countys = new HashSet<>();
for (Hills s: hills) {
countys.add(s.getCounty());
String[] c = new String[0];
c[1] = s.getCounty();
System.out.println("### County: " + c[0]);
hills.stream()
.filter(Hill -> !Hill.getCounty().equals(c[0]))
.map((Hills Hill) -> Hill.getName() + " " + Hill.getHeight())
.forEach(Hill ->{
System.out.println(Hill);
c[0] = Hill.getCounty(); // This is what I am trying to do
});
}
数组从零开始索引。 – Omore
你已经使你的代码变得更糟,现在你的数组长度为零,但你仍然试图访问第二个数组元素,之后。尽管现在,每个访问都会失败。 – Holger