funcional se outra pessoa em um booleano

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:

mapnão funciona, porque nem method1nem method2tem um valor de retorno. E mapeamento de voidnã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());

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=197200&siteId=1
Recomendado
Clasificación