Java 9 ile geliyor. Optional empty olmadığı müddetçe or() ile bağlanan metodları çağırır. Açıklaması şöyle
The usage of or() method is similar to what orElse() and orElseGet() method does. However, or() method let us return an Optional instance that is produced by a Supplier.
Örnek
Şöyle yaparız.
Örnek
Şöyle yaparız.
Optional<Integer> a, b, c, d; // initialized
Optional<Integer> opOr = a.or(() -> b).or(() -> c).or(() -> d);
Örnek
Şöyle yaparız
@Testpublic void whenUseOrThenOk(){Person person = null;Person optionalPerson = Optional.ofNullable(person).or(() -> Optional.of(new Person("default", "9898")))
.get();assertThat(optionalPerson.getContactNo(), is("9898"));}
Şöyle yaparız.
String getFooFromService() {
return this.function_1()
.or(this::function_2) // Requires Java 9
.or(this::function_3) // Requires Java 9
.orElse("DEFAULT_VALUE");
}
Optional<String> function_1() {
System.out.println("function_1 called");
return Optional.empty();
}
Optional<String> function_2() {
System.out.println("function_2 called");
return Optional.of("b");
}
Optional<String> function_3() {
System.out.println("function_3 called");
return Optional.of("c");
}
Hiç yorum yok:
Yorum Gönder