[Java] Optional

이광훈·2023년 7월 18일
0

✅ Optional

: Optional<t\>null이 될 가능성이 있는 데이터를 감싸서 NullPointerException 로부터의 부담을 줄이기 위한 Wrapper 클래스

🌐 활용

  • Optional.isPresent() & Optional.isEmpty() : 실제로 데이터를 가지고 있는지를 판단하는 메소드
  • Optional.get() : Optional이 가지고있는 데이터를 반환하는 메소드
  • Optional.orElse(T other) : Optional이 데이터를 가지고 있다면 반환하고, 없다면 other의 값을 반환하는 메소드
  • Optional.of() : 값이 절대 null이 아닌 경우에 생성할 수 있는 메소드

🚧 예시 코드

public class OptionalEx {
	public static void mian(String[] args) {
    	String value = "Hello";
        
        // 데이터를 가지고 있는 Optional 생성
        Optional<String> optionalValue = Optional.of(value)
        
        // 데이터를 가지고 있는지 판단한 뒤
        if (optionalValue.isPresent()) {
        	// 데이터가 있으면 실행
            System.out.println("Value is present: " + optionalValue.get());
       	} else {
        	// 데이터가 없으면 실행
            System.out.println("Value is not present");
       	}
        
        // 데이터를 가지고 있지않은 Optional 생성
        Optional<String> optionalNull = Optional.ofNullable(null);
        
        // 데이터를 가지고 있는지 판단
        if (optionalNull.isPresent()) {
        	System.out.println("Value is present: " + optionalNull.get());
       	} else {
        	System.out.println("Value is not present");
       	}
        
        // orElse()를 사용해 기본값 전달
        String result = optionalNull.orElse("Default Value");
        System.out.println("Value (orElse): " + result);
   	}
}
   
profile
웃으며 일할 때, 시너지가 배가 된다고 믿는 개발자

3개의 댓글

comment-user-thumbnail
2023년 7월 18일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기
comment-user-thumbnail
2023년 7월 18일

소중한 정보 잘 봤습니다!

답글 달기
comment-user-thumbnail
2023년 7월 18일

항상 좋은 글 감사합니다.

답글 달기