Блок кода в лямбде Java
Когда в лямбде нужно несколько шагов, локальные переменные
или ветвление, тело оборачивают в фигурные скобки. Для
метода с результатом каждый путь выхода должен завершаться
return.
Контракт нормализации заголовка перед публикацией:
@FunctionalInterface
interface TitleNormalizer {
String normalize(String title);
}
Лямбда с блоком: обрезка пробелов и приведение к нижнему регистру:
TitleNormalizer norm = title -> {
String trimmed = title.trim();
if (trimmed.isEmpty()) {
return "draft";
}
return trimmed.toLowerCase();
};
Вызов из main:
public class Main {
public static void main(String[] args) {
TitleNormalizer norm = title -> {
String trimmed = title.trim();
if (trimmed.isEmpty()) {
return "draft";
}
return trimmed.toLowerCase();
};
System.out.println(norm.normalize(" API "));
System.out.println(norm.normalize(" "));
}
}
Для void-метода return без значения допустим
для досрочного выхода из блока.
Допишите лямбду TitleNormalizer, которая для
заголовка короче 3 символов после trim
возвращает "short", иначе - строку как есть.
Проверьте " hi " и " java ".