-
Java - Optional if else statement로 사용하는 방법Java 2022. 9. 27. 19:30반응형
Java의 Optional 클래스는 NPE(NullPointerException)을 방지하도록 도와주는 클래스입니다.
Optional 클래스를 살펴보면
ifPresent(), isPresent(), get(), orElse(), orElseGet() 등의 메소드가 있습니다.
메소드를 살펴보면 값이 있을 때, 아니면 값이 없을 때에 대한 처리만 있어서
if else 구문처럼 처리를 하려면 어떻게 해야될지 고민이 될 때가 있습니다.
Optional 값이 있거나 없을 때 동시에 처리하는 방법에 대해서 알아 보겠습니다.
1. isPresent()
if (optional.isPresent()) { car = optional.get(); } else { car = new Car(); }
optional 값이 존재하면(isPresent) optional.get()을 하고 없으면 새로 Car를 생성해줍니다.
2. map().orElseGet()
Car car = optional.map(c -> getCar(c)) .orElseGet(() -> { Car c = new Car(); return c; });
1번에 비해서 깔끔하게 만들 수 있습니다.
값이 있으면 map으로 값을 만들고 없으면 orElseGet()으로 새로운 Car를 생성해주면 됩니다.
반응형'Java' 카테고리의 다른 글
Java - List 중간 데이터 삭제하는 법 (subList) (0) 2022.12.23 Java - Long.valueOf() 변환시 null 처리하는 방법 (0) 2022.09.30 Java - Set 순회하는 방법 (iteration) (1) 2022.09.23 Java - List의 마지막 요소 얻는 방법 (2) 2022.09.07 Java - Collection Framework Hierarchy (0) 2022.09.05