Optional
public static String getName(User user) {
if(user ==null || user.name == null) {
return "Unknown";
}
return user.name;
}// 🅱️ Bad
public static String getName(User user) {
Optional<User> userOptional = Optional.ofNullable(user);
if(!user.isPresent()) {
return "Unknown";
}
return user.get().getName();
}
// ✅ Good
public static String getName(User user) {
return Optional.ofNullable(user).map(User::getName).orElse("Unknown");
}构造 Optional 的三种方式
常用 API
ifPresent()
map()
orElse()
orElseGet()
orElseThrow()
最后更新于