[기술 정리] 2. 옵셔널(Optional)

KangHo Lee's avatar
Nov 21, 2024
[기술 정리] 2. 옵셔널(Optional)
💡
값의 존재 여부를 명시적으로 나타내기 위해 사용됩니다.

1. 주요 기능

  1. 값이 존재할 수도 있고, 존재하지 않을 수도 있음:
      • Optional은 값이 존재할 때와 존재하지 않을 때를 구분하여 처리할 수 있도록 도와줍니다.
  1. 명시적 검사를 통한 NullPointerException 방지:
      • Optional을 사용하면 null 체크를 명시적으로 수행하여 NullPointerException을 방지할 수 있습니다.

2. 예제

String data1 = null; Optional<String> op1 = Optional.ofNullable(data1);
  • Optional.ofNullable()
    • data1이 null일 경우 빈 Optional 객체를 반환합니다.
    • data1이 null이 아니면 해당 값을 가진 Optional 객체를 반환합니다.
String data2 = null; String r2 = Optional.ofNullable(data2).orElseGet(() -> "없어"); System.out.println("r2 : " + r2);
  • Optional.ofNullable(data2).orElseGet(() -> "없어");
    • data2가 null이면 "없어"를 반환합니다.
// 예외처리에 많이 사용됩니다. String data3 = null; // 값이 있으면 그 값을 리턴 String r3 = Optional.ofNullable(data3) .orElseThrow(() -> new RuntimeException("값이 없습니다.")); System.out.println("r3 : " + r3);
  • Optional.ofNullable(data3) .orElseThrow(() -> new RuntimeException("값이 없습니다."));
    • data3에 값이 없을 경우 RuntimeException 예외를 발생시킵니다.
Share article

devleekangho