isPresent() vs ifPresent() vs ifPresentOrElse()

헨도·2024년 11월 26일
0

Java

목록 보기
3/6
post-thumbnail

isPresent()

목적

  • Optional 객체 내부의 값이 존재하는지 확인하는 메서드

반환 값

  • 값이 존재하면 True
  • 값이 존재하지 않으면 False
Optional<User> user = userRepository.findById(id);

if (user.isPresent()) {
	log.info("사용자: {}, 조회성공", user.name);
} else {
	log.error("조회 실패");
}

ifPresent()

목적

  • Optional 객체 내부의 값이 존재할 경우에만 특정 동작을 수행하는 메서드

반환 값

  • 값이 존재하면 지정된 동작을 실행
Optional<User> userInfo = userRepository.findById(id);

userInfo.ifPresent(user -> log.info("사용자: {}, 조회성공", user.name);

isPresent() vs ifPresent()

차이점

  • isPresent() 는 Optional 안에 값이 있는지 확인하는 메서드이고, ifPresent() 는 값이 있을 때 특정 작업을 실행하는 메서드이다.

ifPresentOrElse()

목적

  • Optional 객체 내부의 값이 존재할 경우 특정 동작을 수행하고, 값이 없을 경우 다른 동작을 수행하는 메서드
Optional<User> userInfo = userRepository.findById(id);

userInfo.ifPresentOrElse(
	user -> log.info(user -> log.info("사용자: {}, 조회성공", user.name);
    () -> log.error("조회실패");
);
profile
Junior Backend Developer

0개의 댓글