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