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

Java优学网Optional类短文:告别空指针异常,让代码更优雅安全

User user = getUser(); if (user != null) {

String name = user.getName();
if (name != null) {
    return name.toUpperCase();
}

} return "Unknown";

// 当你知道user一定不为null时 Optional userOpt = Optional.of(user);

// 传统方式 - 调用者需要猜测返回值是否可能为null public User findUserById(Long id) {

// 如果找不到,返回null
return userRepository.findById(id);

}

Java优学网Optional类短文:告别空指针异常,让代码更优雅安全

// 使用Optional - 意图明确 public Optional findUserById(Long id) {

return Optional.ofNullable(userRepository.findById(id));

}

// 反例:完全没有必要 Optional name = Optional.of("张三"); if (name.isPresent()) {

Java优学网Optional类短文:告别空指针异常,让代码更优雅安全

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

}

// 正确做法:直接使用值 String name = "张三"; System.out.println(name);

// 传统方式:层层防御 if (user != null) {

Address address = user.getAddress();
if (address != null) {
    String street = address.getStreet();
    if (street != null) {
        return street.toUpperCase();
    }
}

} return "Unknown";

你可能想看:

相关文章:

文章已关闭评论!