개발일지/2023_한이음
[개발]🎁배운점 - ifPresent() 메서드
기억지기 개발자
2023. 6. 21. 18:40
Optional<Review> entity = repository.findById(id);
이러한 코드의 다음 줄에 entity.setContent를 사용하고자 했는데 setter가 사용이 안 되는 것이었다!!
분명히 Review 엔티티에 setter가 있는데도 사용이 안 되니 굉장히 난감했다.
알고보니...
Optional을 사용한 경우에 바로 setter의 사용이 불가능하고
entity.ifPresent(review -> {
review.setDeleted(true);
});
이런 식으로 isPresent 메소드 + 람다식을 사용해야 비로소 setter를 사용할 수 있는 것이다~~
ifPresent 메서드는 Optional 객체에 값이 존재하는 경우에만 지정한 동작을 수행할 수 있습니다. 이를 통해 값의 유무를 확인하고, 값이 있는 경우에만 해당 동작을 수행할 수 있습니다. ifPresent 메서드를 사용하여 값의 존재 여부를 검사하고, 필요한 동작을 수행함으로써 NullPointerException 을 방지하고 안전한 코드를 작성할 수 있습니다.