Optional 클래스의 ifPresent 함수 사용하여 고급지게 null체크하기
Optional 클래스의 ifPresent 함수 사용하여 고급지게 null체크하기
import com.google.gson.JsonObject; import java.util.Optional; class Car{ String speed; String name; public String getSpeed() { return speed; } public void setSpeed(String speed) { this.speed = speed; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Car(String name) { this.name = name; } public Car(){ } } class Optional_ex { public static void main(String[] args) { Car a = new Car(); a.setName("aaa"); Optional<Car> car = Optional.of(a); // name이 null이 아니면 실행 Optional<String> name = Optional.ofNullable(a.getName()); name.ifPresent(value -> { System.out.println("name있어서 실행: "+ value); }); Optional<String> speed = Optional.ofNullable(a.getSpeed()); speed.ifPresent(value -> { System.out.println("speed있어서 실행: "+ value); }); Optional<Car> opcar = Optional.ofNullable(new Car("모닝")) ; String result = opcar.map(val -> val.getName()) .orElse(null); System.out.println(result); opcar.filter(val -> "모닝".equals(val.getName())) .ifPresent(val -> System.out.println("NULL체크 및 모닝")); // Name비어있을때 default값 지정하여 처리 Optional<Car> opcar2 = Optional.ofNullable(new Car()) ; String result2 = opcar2.map(val -> val.getName()) .orElse("이름없음"); System.out.println(result2); // 비어있는 옵셔널 생성 Optional<Car> emptyOptional = Optional.empty(); } }
최근 댓글