java.util.Optional T 클래스 - comento-backend-camp/ticket-reservation-server-hyejung GitHub Wiki
of() 메소드나 ofNullable() 메소드를 사용하여 Optional 객체를 생성
- of() : null이 아닌 명시된 값을 가지는 Optional 객체를 반환
- null이 저장될 경우, NullPointException 발생
- ofNullable() : 명시된 값이 null이 아니면 명시된 값을 가지는 Optional 객체를 반환하며, 명시된 값이 null이면 비어있는 Optional 객체를 반환
- null 값이 발생된 가능성이 있을 경우 사용
Optional<String> opt = Optional.ofNullable("자바 Optional 객체");
System.out.println(opt.get());
- empty() : Optional 객체를 null로 초기화
get() 메소드를 사용하여 Optional 객체에 저장된 값에 접근
Optional 객체에 저장된 값이 null이면, NoSuchElementException 예외가 발생
isPresent() 메소드를 사용하여 null 여부를 확인하는게 안전
Optional<String> opt = Optional.ofNullable("자바 Optional 객체");
if(opt.isPresent()) {
System.out.println(opt.get());
}
모든 if-else 가능하면 블록을 만들어주는게 좋음.
사소한 실수로 로직에 문제가 발생할 수 있음
- orElse() : 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인수로 전달된 값을 반환
- orElseGet() : 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인수로 전달된 람다 표현식의 결괏값을 반환
- orElseThrow() : 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인수로 전달된 예외를 발생