Java 8新特性——Optional的使用问题实例
在Java 8中,引入了Optional这个新的工具类,用来处理可能为空的值。下面是一些关于Optional使用问题的实例:
例子1:从集合中获取元素
List<String> list = null; // 或者list.isEmpty()
// 使用Optional
Optional<String> optional = list.stream() // 检查list是否为空
.map(String::valueOf) // 将String对象转换为Optional
.orElse(null); // 如果list为空,返回null
optional.ifPresent(System.out::println)); // 如果存在值,打印出来
例子2:在方法参数中使用Optional
public void processValue(String value, Optional<String> alternative) {
if (value != null && !value.isEmpty()) {
System.out.println("Using primary value: " + value);
} else {
alternative.ifPresent(this::useAlternative));
}
}
// 在方法外部创建Optional
Optional<String> optional = new Optional<>();
// 使用过程值函数,传递Optional
processValue("Primary value", optional);
optional.ifPresent(this::printOptionalValue)); // 如果Optional存在值,打印出来
以上实例展示了如何在Java 8中使用Optional来处理可能为空的值。
还没有评论,来说两句吧...