Giriş
İmzası şöyle. Java 9 ile geliyor. İki tane lambda alır.
void ifPresentOrElse(Consumer<? super T> action,Runnable emptyAction)
ÖrnekŞöyle yaparız.
element.ifPresentOrElse(el -> System.out.println("Present " + el,
() -> System.out.println("Not present"));
ÖrnekŞöyle yaparız.
public void check(String name){
Optional.ofNullable(name)
.ifPresentOrElse(YourClass::doSomething, YourClass::doMore);
}
Şu kod ile aynıdırpublic void check(String name) {
if (name != null)
doSomething(name);
else
doMore();
}
Exception fırlatmamalıdır. orElseThrow kullanılabilir
Örnek
Şu kod iyi değil
dao.findExample(id).ifPresentOrElse(this::workWithExample, () -> throw new CustomRuntimeException());
Şöyle yaparız
dao.findExample(id).orElseThrow(ExampleNotFoundException::new);
Hiç yorum yok:
Yorum Gönder