【发布时间】:2014-10-07 14:45:28
【问题描述】:
我在 Java 中使用 for-each 结构如下:
public int getNumRStations() {
int numRoutes = 0;
for (ArrayList<Route> route : routes) {
numRoutes += route.size();
}
return numRoutes;
}
NetBeans 显示一条警告/通知,上面写着“可以使用功能操作”。自动解决后,新生成的代码显示如下:
public int getNumRStations() {
int numRoutes = 0;
numRoutes = routes.stream().map((route) -> route.size()).reduce(numRoutes, Integer::sum);
return numRoutes;
}
- 为什么 NetBeans 会警告我这一点?我知道我不应该盲目相信 IDE,所以我才问这个问题。
- 那条新行应该做什么?无论是在现实生活中还是在课堂上,我都没有见过这样的事情。
【问题讨论】:
-
这是新的 Java 8 API 和 lambda 表达式。
-
你已经更新到 java 8 了吗?
-
你的 IDE 非常聪明。
-
这真的是一种改进吗?似乎更难阅读,打字时间更长,而且运行速度也不快。
-
@immibis 不是我不想要它,我正在尝试了解它是什么以及是否适合使用新样式(效率、可维护性问题等)。跨度>
标签: java function netbeans foreach