【发布时间】:2014-10-18 11:18:47
【问题描述】:
我有以下代码:
IntStream.range(0, width).forEach(x1 -> {
IntStream.range(0, height).forEach(y1 -> {
IntStream.rangeClosed(x1-1, x1+1).forEach(x2 -> {
IntStream.rangeClosed(y1-1, y1+1).forEach(y2 -> {
if ((x1 != x2 || y1 != y2) && getNode(x2, y2) != null){
getNode(x1, y1).registerObserverAtNeighbor(getNode(x2, y2));
}
});
});
});
});
有没有办法使用更少的嵌套语句来编写上述内容?它基本上是“对于从 (0,0) 到 (width,height) 的每个节点在 (x-1,y-1) 到 (x+1,y+1) 的节点上注册观察者,但不是在 self”。
【问题讨论】:
标签: java lambda java-8 java-stream