Optional<Object> optional = Optional.of(new ListContact());
Optional<Object> optional1 = Optional.ofNullable(null);
optional.isPresent();
optional.ifPresent(System.out::println);
Object o1 = optional.orElse("为空时默认值");
optional.orElseGet(() -> supplierGetmethod());
optional.orElseGet(() -> "返回值");
optional.orElseGet(() -> {
return "返回值";
});
Object o = optional.orElseThrow(() -> supplierGetmethodException());
optional.orElseThrow(() -> new RuntimeException("自定义异常"));
optional.orElseThrow(RuntimeException::new);
Optional<ListContact> optional2 = Optional.of(new ListContact());
optional2.map(a -> a.getContact()).orElse(Collections.emptyList());
if (optional2.isPresent()) {
optional2.get().getContact();
} else {
Collections.emptyList();
}
optional2.map(a -> a.getChannel()).map(channel -> channel.toUpperCase()).orElse(null);