// 传统方式 String name = getUser().getProfile().getName(); if (name != null) {
System.out.println(name.length());
}
// Optional方式
Optional
.map(Profile::getName)
.ifPresent(name -> System.out.println(name.length()));
// 传统防御性编程 User user = userRepository.findById(userId); if (user != null) {
Address address = user.getAddress();
if (address != null) {
String city = address.getCity();
if (city != null) {
return city.toUpperCase();
}
}
} return "Unknown";
// 传统方式 User user = order.getUser(); if (user != null) {
Address address = user.getAddress();
if (address != null) {
return address.getCity();
}
} return "Unknown";
// Optional链式操作 return Optional.ofNullable(order)
.map(Order::getUser)
.map(User::getAddress)
.map(Address::getCity)
.orElse("Unknown");
你可能想看: