По большей части, однострочные лямбда-функции – это все, что вам нужно.
Это однострочный лямбда-код:
PredicateisBark = sound -> Sound.valueOf("bark").equals(sound);
Иногда одной строки недостаточно, чтобы выразить сложность лямбда-выражения. Как вы создаете многострочную лямбду?
Вот как:
//set up - elsewhere in the pseudo code Animal interface: public Sound getSound() throws MuteAnimalException {...} PredicateisBark = 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”