✔️ 예상치 못한 NullPointerException
을 제공되는 메소드로 간단히 회피 가능
✔️ Integer
나 Double
클래스처럼 T
타입의 객체를 포장해 주는 래퍼 클래스(Wrapper class)
✔️ 참조 변수의 값이 null
이 될 가능성이 있다면, ofNullable()
메소드를 사용하여 Optional
객체 생성
➕ ofNullable()
메소드
null
이 아니면 값을 가지는 Optional
객체 반환null
이면 비어있는 Optional
객체 반환1️⃣ get()
메소드를 호출하기 전에 isPresent()
메소드를 사용하여 Optional
객체에 저장된 값이 null
인지 아닌지를 먼저 확인한 후 호출
2️⃣ orElse()
메소드를 사용해 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인수로 전달된 값을 반환
3️⃣ orElseGet()
메소드를 사용해 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인수로 전달된 람다 표현식의 결괏값을 반환
4️⃣ orElseThrow()
메소드를 사용해 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인수로 전달된 예외를 발생