java - 使用 Java 函数式编程简化 if-else 条件
问题描述
有什么建议可以使用 Java 8 功能简化以下代码块?
int[] ans = new int[2];
list.forEach(i -> {
if (i > 0) {
ans[0] += 1;
} else if (i < 0) {
ans[1] += 1;
}
});
PS不知道我是否应该在这里发布
解决方案
如果您不想计算零,那么您的代码将尽可能简单。但是,如果您想将零计为正数,则可以将其缩短为此。
int[] ans = new int[2];
for (int i : list) ans[i < 0 ? 1 : 0] += 1;