[spring] isPresent와 ifPresent

Albatross53·2023년 6월 15일
0

TIL

목록 보기
18/19
post-custom-banner
Optional.ofNullable(member.getPhone())
                .isPresent(phone -> findMember.setPhone(phone));

해당 코드는 phone이 object타입으로 반환되어 setPhone()가 실행되지않는다.

이때, 해당 코드의 isPresent를 ifPresent로 수정한다면

Optional.ofNullable(member.getPhone())
                .ifPresent(phone -> findMember.setPhone(phone));

제대로 작동하게된다.

이유.
isPresent() 메서드는 Optional 객체에 값이 존재하는지 여부를 확인하기 위해 사용되는 메서드이지만, 해당 메서드의 매개변수는 Consumer 타입을 받아들인다.

그러므로 ifPresent() 메서드로 수정하여 매게변수가 Optional 객체가 값으로 반환하게 한다.

profile
개발공부중

0개의 댓글