HappyWeasel
Optional 본문
import java.util.Date;
import java.util.Optional;
public class test {
public static void main(String[] args){
Optional<String> cls1 = Optional.empty();
// null 값을 가지고 있는 Optional을 생성
String str = null;
Optional<String> cls2 = Optional.ofNullable(str);
// null값도 허용한다.
// empty, ofNullable은 값을 초기화한다.
System.out.println("cls1 is Present: " + cls1.isPresent());
// null을 가지고 있는지 확인/ true, false 리턴
System.out.println("cls1 is Present: " + cls2.isPresent());
System.out.println("cls1 orElse: "+ cls1.orElse("null"));
// null이면 "null"로 리턴한다.
Data d = new Data();
Data c = null;
Optional<Data> od = Optional.ofNullable(d);
Optional<Data> od2 = Optional.ofNullable(c);
System.out.println("od : " + od.isPresent());
System.out.println("od2 : " + od2.isPresent());
Data od3 = od2.orElseGet(() -> {
Data aa = new Data();
aa.setA("a");
aa.setB("b");
return aa;
});
// lambda로 null일 때 리턴할 객체를 생성할 수 있다.
System.out.println("od3: " + od3.getA() + ", " + od3.getB());
}
}
class Data {
private String a;
private String b;
public void setA(String a){
this.a = a;
}
public void setB(String b){
this.b = b;
}
public String getA(){
return a;
}
public String getB(){
return b;
}
}
'Basic > Java' 카테고리의 다른 글
BigDecimal 사용법 정리 (0) | 2021.01.25 |
---|---|
Java - 정규표현식 (0) | 2020.12.23 |
Java - networking (0) | 2019.06.09 |
Java - Spring 설치하기 (0) | 2019.04.23 |
Java - Thread 정리 (0) | 2019.04.22 |
Comments