Optional<T>
란 무엇일까Optional은 NULL이 될 수 있는 객체를 감싸는 Wrapper 클래스이다
NPE를 방지하기 위해서
NPE(NullPointerException)란?
실제값이 아닌 NULL을 가지고 있는 객체를 호출할 때 발생하는 예외이다.
Optional.of()
null값을 받지 않는다
Optional<String> val = Optional.of(null) // NPE 발생
Optional.ofNullable()
참조변수의 값이 null일 가능성이 있을 때
Option<String> val = Optional.ofNullable(null) // OK
Optional.get() && Optional.orElse()
Optional<String> optVal = Optional.of("ABC"); String str1 = optVal.get(); //optVal에 저장된 값을 반환. null이면 예외 발생 String str2 = optVal.orElse(""); //optVal에 저장된 값이 null일 때는 ""를 반환
Optional.ifPresent()
Optional 객체가 값을 가지고 있다면
true
, 값이 없다면false
리턴