当前位置:首页 > Java API 与类库手册 > 正文

Java优学网Optional类短文:告别空指针异常,用链式操作简化代码

// 传统方式 String name = getUser().getProfile().getName(); if (name != null) {

System.out.println(name.length());

}

// Optional方式 Optional user = getUser(); user.flatMap(User::getProfile)

.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");

Java优学网Optional类短文:告别空指针异常,用链式操作简化代码

你可能想看:

相关文章:

文章已关闭评论!