inblog logo
|
stupefyee
    기술정리

    [기술정리] Optional

    Stupefyee's avatar
    Stupefyee
    Nov 20, 2024
    [기술정리] Optional
    Contents
    1. 개요2. 주요 특징3. 주요 메소드4. 예시 코드

    1. 개요

    • 목적:
      • 값이 있을 수도, 없을 수도 있는 경우를 안전하게 처리
    • 대상:
      • null 처리 및 오류 예방

    2. 주요 특징

    • 값 존재 여부:
      • 값이 있을 수도, 없을 수도 있음
    • null 직접 다루지 않음:
      • Optional을 통해 null을 명시적으로 처리하지 않음
    • 안전한 값 처리:
      • NullPointerException 예방

    3. 주요 메소드

    1. of()
        • 값이 존재할 때 사용
        • 예: Optional.of("value")
    1. ofNullable()
        • 값이 null일 수도 있을 때 사용
        • 예: Optional.ofNullable(value)
    1. empty()
        • 값이 없을 때 사용
        • 예: Optional.empty()
    1. isPresent()
        • 값이 존재하는지 확인
        • 예: optionalValue.isPresent()
    1. ifPresent()
        • 값이 있을 때 람다 함수 실행
        • 예: optionalValue.ifPresent(value -> System.out.println(value))
    1. get()
        • 값 반환 (없으면 예외 발생)
        • 예: optionalValue.get()
    1. orElse()
        • 값 없으면 기본값 반환
        • 예: optionalValue.orElse("default")
    1. orElseGet()
        • 값 없으면 공급자 함수로 기본값 생성
        • 예: optionalValue.orElseGet(() -> "generated")
    1. orElseThrow()
        • 값 없으면 예외 던짐
        • 예: optionalValue.orElseThrow(() -> new RuntimeException("Error"))

    4. 예시 코드

    public class App { public static void main(String[] args) { String data1 = null; Optional<String> op1 = Optional.ofNullable(data1); // .isPresent() >> 안에 값이 존재하면 true if (op1.isPresent()) { String r1 = op1.get(); System.out.println("r1: " + r1); } String data2 = null; // String r2 = Optional.ofNullable(data2).orElseGet(() -> "없음"); System.out.println("r2: " + r2); String data3 = "대충 아무 값"; // null이면 예외 던지기 String r3 = Optional.ofNullable(data3).orElseThrow(() -> new RuntimeException("값이 없음, 확인 바람")); System.out.println("r3: " + r3); } }
    Share article
    Contents
    1. 개요2. 주요 특징3. 주요 메소드4. 예시 코드

    stupefyee

    RSS·Powered by Inblog