#java #lambda
#java #лямбда
Вопрос:
Это может быть глупый вопрос, но, похоже, я не могу найти какие-либо хорошие ресурсы по этому вопросу.
В настоящее время у меня есть следующий лямбда:
public static final Predicate<Path> TEXT = path -> (path.toString().toLowerCase().endsWith(".txt") || (path.toString().toLowerCase().endsWith(".text")));
Я хочу применить результат path.toString().toLowerCase к переменной, чтобы я мог просто вызвать:
(result.endsWith(".txt") || result.endsWith(".text"))
Как я могу сделать это в лямбда-выражении?
Ответ №1:
Вы должны использовать блок вместо выражения для тела лямбда-выражения:
public static final Predicate<Path> TEXT = path -> {
String result = path.toString().toLowerCase();
return result.endsWith(".txt") || result.endsWith(".text");
};