空指针异常
public static void main(String[] args) {List<String> list = null;list.forEach(x -> System.out.println(x));
}
优雅判空
public static void main(String[] args) {List<String> list = null;List<String> newList = Optional.ofNullable(list).orElse(Lists.newArrayList());newList.forEach(x -> System.out.println(x));
}
// Lists.newArrayList()是Google Guava库中的一个方法
<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>版本号</version>
</dependency>
解释代码含义:如果list集合不为空,将list集合赋值给newList;如果list集合为空创建一个空对象集合赋值给newList,保证list集合永远不为空,也就避免了空指针异常。