gringogordo :
Estoy mirando para hacer un muy básico, si lo demás en un valor booleano opcional. Me falta algo muy básico pienso
por lo que la vieja escuela si otra cosa nido es como esto
if (filterValue.isPresent()) {
if (filterValue.get()==true) {
method1();
} else {
method2();
}
} else {
method3();
}
He probado varios intentos de 2 reemplazos
filterValue.map(o -> o.TRUE ? method1() : method2()).orElse(method3());
y
filterValue.isPresent(filterValue.get().TRUE ? method1() : method2());
y no puedo parecer conseguir la sintaxis?
¿Alguien podría apuntar en la dirección correcta?
Lino:
map
no funciona, porque ni method1
tampoco method2
tener un valor de retorno. Y la cartografía a void
no está permitido.
Actualmente no existe una clara solución real en Java 8, pero si quieres pasar a utilizar Java 9 a lograrlo con ifPresentOrElse(Consumer<T>, Runnable>)
:
filterValue.ifPresentOrElse(value -> {
if(value){
method1();
} else {
method2();
}
}, () -> method3());