Java/Optional
Java Optional 예시 5(filter)
S.T.Lee
2022. 11. 13. 21:51
package lec10.Optional.ex02;
import java.util.Optional;
public class OptionalMain02 {
public static void main(String[] args) {
String testText = String.valueOf("good");
//String testText = String.valueOf("bad");
Optional<String> s1 = Optional.of(testText).filter(s -> {
if(s.equals("good")) {
System.out.println("good이 맞습니다.");
return true;
} else {
System.out.println("bad입니다.");
return false;
}
});
System.out.println("good이 맞는가 :" + s1);
System.out.println("======================================");
Optional<String> a111= Optional.of(testText).filter(s -> {
if (s.equals("good")) {
System.out.println("good이 맞습니다.");
return true;
} else {
System.out.println("bad입니다.");
return false;
}
});
System.out.println(a111);
System.out.println("======================================");
String good = Optional.of(testText).filter(s -> {
if (s.equals("good")) {
System.out.println("good이 맞습니다.");
return true;
} else {
System.out.println("bad입니다.");
return false;
}
}).orElseGet(() -> {
System.out.println("데이터가 존재하지 않아 실행합니다.");
return "bad";
});
System.out.println("orElseGet을 추가합니다.");
System.out.println("good이 맞는가? " + good);
System.out.println("===============");
int valueDateRange = 10;
int successRatio = 3;
int failRatio = 12;
boolean rtnValid1 = Optional.of(successRatio).filter(i -> i < valueDateRange).isPresent();
boolean rtnValid2 = Optional.of(failRatio).filter(i -> i < valueDateRange).isPresent();
System.out.println("정상인가? " + rtnValid1);
System.out.println("정상인가? " + rtnValid2);
}
}