Optional< T >
NPE(NullPointException)을 피하기 위한 클래스입니다. 객체를 포장해서 사용하면 NULL 체크를 직접하지 않아도됩니다.
Optional 생성하는 방법
String str = "str";
Optional<String> str1 = Optional.of(str);
Optional<String> str2 = Optional.of("str1");
참조 변수의 값이 null일 가능성이 있는 경우 ofNullable을 사용해야한다.
of는 매개변수값이 null인경우 NPE를 발생시킨다.
Optional 객체의 값 가져오기
get() :Optional 객체에 저장되어있는 value를 가져온다. 객체가 비어있다면 NoSuchElementExcpetion을 출력한다.
orElse(T other) : 객체가 null인 경우에 other객체를 반환한다.
orElseGet(Supplier other) : 객체가 비어있다면 다른 null값을 람다식으로 반환할 수 있다.
orElseThrow(Supplier ExceptionThrow) : 객체가 null인 경우 지정한 예외를 반환한다.
Optional 메소드
ifPresent() : 객체의 값이 null이 아니면 true , null이면 false를 반환한다.
isPresent() : 객체의 값이 null이 아니면 람다식을 실행하고, null이면 아무것도 반환하지 않는다.