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();
    }
}

 

You may also like...

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.