在stream找那个传统的if else用法
代码语言:javascript复制List ints = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
ints.stream()
.forEach(i -> {
if (i.intValue() % 2 == 0) {
Assert.assertTrue(i.intValue() % 2 == 0);
} else {
Assert.assertTrue(i.intValue() % 2 != 0);
}
});
不太优雅,可以使用filter代替
代码语言:javascript复制Stream evenIntegers = ints.stream()
.filter(i -> i.intValue() % 2 == 0);
Stream oddIntegers = ints.stream()
.filter(i -> i.intValue() % 2 != 0);
evenIntegers.forEach(i -> Assert.assertTrue(i.intValue() % 2 == 0));
oddIntegers.forEach(i -> Assert.assertTrue(i.intValue() % 2 != 0));
英文原文:https://www.baeldung.com/java-8-streams-if-else-logic