在stream找那个传统的if else用法
1. List<Integer> ints = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); 2. 3. ints.stream() 4. .forEach(i -> { 5. if (i.intValue() % 2 == 0) { 6. Assert.assertTrue(i.intValue() % 2 == 0); 7. } else { 8. Assert.assertTrue(i.intValue() % 2 != 0); 9. } 10. });
不太优雅,可以使用filter代替
1. Stream<Integer> evenIntegers = ints.stream() 2. .filter(i -> i.intValue() % 2 == 0); 3. Stream<Integer> oddIntegers = ints.stream() 4. .filter(i -> i.intValue() % 2 != 0); 5. 6. evenIntegers.forEach(i -> Assert.assertTrue(i.intValue() % 2 == 0)); 7. oddIntegers.forEach(i -> Assert.assertTrue(i.intValue() % 2 != 0));