Рубрики
Без рубрики

Как написать многострочный лямбда-код в Java 8

По большей части, однострочные лямбда-функции – это все, что вам нужно. Это однострочная лямбда: Pr… С пометкой java, функциональный, для начинающих.

По большей части, однострочные лямбда-функции – это все, что вам нужно.

Это однострочный лямбда-код:

Predicate isBark = sound -> Sound.valueOf("bark").equals(sound); 

Иногда одной строки недостаточно, чтобы выразить сложность лямбда-выражения. Как вы создаете многострочную лямбду?

Вот как:

//set up - elsewhere in the pseudo code Animal interface: 
public Sound getSound() throws MuteAnimalException {...} 
Predicate isBark = sound -> Sound.valueOf("bark").equals(sound); 
//payoff, a multiline lambda 
Predicate isDog = animal -> { 
    try { 
        return isBark.test(animal.getSound()); 
    } catch (MuteAnimalException e){ 
        logger.severe(e.getMessage); return false; 
    } 
};

Оригинал: “https://dev.to/monknomo/how-to-write-a-multiline-lambda-in-java-8-2pl9”