从Optional.ifPresent()Java 8引发异常

问题描述 投票:0回答:3

我正在尝试从Java 8中的Optional API的Optional ifPresent()方法抛出异常。我正在检查是否存在对象,如果存在,则检查它是否包含特定值。如果是,则抛出异常

这是我的代码:

    Optional<User> dbUser = userRepository.findByEmail(email);

            logger.info("Fetched user : " + dbUser + " by " + email);

            logger.info("Fetched user status : " + dbUser.get().getStatus());

          if (dbUser.isPresent()) {
                if (dbUser.get().getStatus().equals(Status.PENDING)) {
                    throw new UserException("pending", email);
                }
            }

上面的代码可以正常工作,但是这种方法可以吗?

java java-8 optional
3个回答
0
投票
if (dbUser.isPresent() && dbUser.get().getStatus() != null ) { if (dbUser.get().getStatus().equals(Status.PENDING)) { throw new UserException("pending", email); } }

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.