Java 8可选的get()方法

时间:2017-03-21 14:00:04

标签: java optional

在使用Optional时,以这种方式使用get()方法是推荐的方法吗?

Optional<User> loginUser = userService.findUserByEmail(authentication.getName());

if (loginUser.isPresent()) {
  User user = loginUser.get();
  user.setLastLogin(new Date());
  userService.saveUser(user);   
}

1 个答案:

答案 0 :(得分:1)

loginUser.ifPresent(user -> {
    user.setLastLogin(new Date());
    userService.saveUser(user);
});

更优雅。以下是主题:isPresent() is bad for you.