Optional 的使用
Optional
是一个 Java 8 引入的类,它的作用是表示一个可能为 null
的值。使用 Optional
可以让代码更加简洁,避免出现空指针异常。下面是一些 Optional
的用法示例:
-
创建一个包装了可能为
null
值的Optional
对象:Optional<String> optional = Optional.ofNullable(someString);
这里的
someString
可能为null
,使用Optional.ofNullable()
方法可以将它包装成一个Optional
对象。 -
判断一个
Optional
对象是否包含非null
值:if (optional.isPresent()) { // ... }
如果
optional
对象包含了一个非null
值,那么可以使用isPresent()
方法进行判断。 -
如果
Optional
包含非null
值,则使用该值执行某些操作:optional.ifPresent(value -> doSomething(value));
这里的
doSomething()
方法会被传入optional
对象中的非null
值执行。 -
如果
Optional
不包含非null
值,则返回一个默认值:String defaultValue = "default value"; String value = optional.orElse(defaultValue);
如果
optional
对象中包含了非null
值,则返回该值;否则返回defaultValue
。 -
如果
Optional
不包含非null
值,则抛出一个自定义的异常:String value = optional.orElseThrow(() -> new CustomException("value is null"));
如果
optional
对象中包含了非null
值,则返回该值;否则抛出一个CustomException
异常,异常信息为"value is null"
。