在Java中,Optional
是一个可以为null的容器对象。如果值存在则isPresent()方法返回true,调用get()方法会返回该对象。
使用Optional可以有效地防止NullPointerException。
下面是一些使用Optional的技巧:
-
创建Optional对象:
Optional<String> optional = Optional.of("bam");
-
如果值存在则调用方法 :
可以使用
ifPresent
方法在值存在时执行某个操作。optional.ifPresent((s) -> System.out.println(s.charAt(0)));
-
检查值是否存在 :
使用
isPresent()
方法检查值是否存在。if (optional.isPresent()) { System.out.println(optional.get()); } else { System.out.println("No value"); }
-
使用orElse或orElseGet方法提供默认值 :
如果值不存在,可以使用
orElse
或orElseGet
方法提供一个默认值。String str = optional.orElse("fallback");
-
使用map和filter方法 :
可以使用
map
和filter
方法对值进行操作。例如,将一个字符串转换为大写。Optional<String> upperOptional = optional.map((s) -> s.toUpperCase());
-
使用flatMap方法 :
如果值是一个集合,可以使用flatMap
方法将多个Optional对象合并为一个。 -
使用orElseThrow方法抛出异常 :
如果值不存在,可以使用orElseThrow
方法抛出一个异常。 -
使用stream方法处理值 :
可以使用stream
方法将Optional对象转换为Stream对象,以便进行复杂的操作。例如,计算长度或过滤特定字符。 -
使用ifEmpty方法处理空值 :
可以使用ifEmpty
方法在值不存在时执行某个操作。例如,设置一个默认值或抛出一个异常。 -
使用or方法合并两个Optional对象:如果当前Optional对象为空,则返回另一个Optional对象。如果当前Optional对象不为空,则返回当前Optional对象。这可以用于合并两个可能都为空的Optional对象。