Sri*_*i V 0 java foreach java-stream
如何在java 8中编写以下代码
List<String> names = service.serviceCall();
if(names != null) { // **how to do this null check with java 8**
names.forEach(System.out::println);
}
Run Code Online (Sandbox Code Playgroud)
你可以做:
Optional.ofNullable(names).orElse(Collections.emptyList()).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
或者
Optional.ofNullable(names).ifPresent(n -> n.forEach(System.out::println));
Run Code Online (Sandbox Code Playgroud)
或者
Stream.of(names)
.filter(Objects::nonNull)
.flatMap(Collection::stream)
.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
但不要。看看你必须写的所有额外的东西。
只需使用简单的旧空检查,就像您已经在代码中一样。