gringogordo:
Eu estou olhando para fazer um muito básico, se outra pessoa em um valor opcional booleano. Eu estou faltando alguma coisa muito básico eu acho
Assim, a velha escola, se outra coisa ninho é como este
if (filterValue.isPresent()) {
if (filterValue.get()==true) {
method1();
} else {
method2();
}
} else {
method3();
}
Eu tentei várias tentativas de 2 substituições
filterValue.map(o -> o.TRUE ? method1() : method2()).orElse(method3());
e
filterValue.isPresent(filterValue.get().TRUE ? method1() : method2());
e não consigo parecer para obter a sintaxe?
Alguém poderá me indicar a direção correta ?
Lino:
map
não funciona, porque nem method1
nem method2
tem um valor de retorno. E mapeamento de void
não é permitido.
Atualmente não há nenhuma solução elegante real no Java 8, mas se acontecer de você usar Java 9 de alcançá-lo com ifPresentOrElse(Consumer<T>, Runnable>)
:
filterValue.ifPresentOrElse(value -> {
if(value){
method1();
} else {
method2();
}
}, () -> method3());