Spring

Spring Optional.isPresent()

와이에쓰 2021. 7. 15. 17:05

스프링에서 Optional 객체에 get() 메소드를 사용하여 안에 있는 객체를 가져올 수 있습니다.

하지만 비어있는 Optional 객체를 대상으로 get() 메소드를 사용할 경우 에러가 발생합니다.

 

따라서 isPresent()객체를 사용하여 객체 존재여부를 확인 후에 가져오도록 해야합니다.

 

 

ex)

1
User user = userRepositorySupport.findUserByUserId(userId).get();
cs

=> findUserByUserId에서 객체를 못 가져왔을 시 에러 발생

 

1
2
3
4
5
6
Optional<User> user = userRepositorySupport.findUserByUserId(userId);
        
if(user.isPresent())
    return user.get();
else
    return null;
cs

=> isPresent() 메소드로 사전에 확인함으로 문제 해결