概述
Optional是JAVA 8引入的一个类,用于处理可能为null的值。
利用Optional可以减少代码中if-else的判断逻辑,增加代码的可读性。且可以减少空指针异常的发生,增加代码的安全性。
常用的方法
示例
代码
public class OptionalTest {
public static void main(String[] args) {
Integer value1 = null;
Integer value2 = new Integer(10);
// ofNullable允许参数为null
Optional<Integer>a = Optional.ofNullable(value1);
//Optional.of - 如果传递的参数为null,则抛出异常
Optional<Integer>b = Optional.of(value2);
System.out.println(OptionalTest.sum(a, b));
}
public static Integer sum(Optional<Integer> a, Optional<Integer> b){
// Optional.isPresent判断值是否存在
System.out.println("第一个参数存在:" + a.isPresent());
System.out.println("第二个参数存在:" + b.isPresent());
//Optional.orElse - 如果值存在,返回他,否则返回默认值
Integer value1 = a.orElse(new Integer(0));
//optional.get - 获取值,值需要存在
Integer value2 = b.get();
return value1 + value2;
}
}
输出:
第一个参数存在:false
第二个参数存在:true
10