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();
}
}
최근 댓글