Целевой тип лямбда-выражения — это функциональный интерфейс, в который можно преобразовать это выражение. Это ожидаемый тип, который определяет, как лямбда будет интерпретирована и использована в твоём коде.
Лямбда-выражение должно соответствовать определённым ограничениям по параметрам:
Тип возврата лямбды должен быть совместим с типом возврата функционального интерфейса:
void, лямбда не должна возвращать значениеРассмотрим такой функциональный интерфейс:
@FunctionalInterface
interface StringProcessor {
String process(String input);
}
Корректная лямбда будет выглядеть так:
StringProcessor sp = s -> s.toUpperCase();
Здесь целевой тип — StringProcessor, тип параметра — String, тип возврата — String — всё совпадает с требованиями интерфейса.
Целевой тип работает как контракт, который определяет, какие параметры принимает лямбда и что она должна возвращать, обеспечивая типобезопасность и проверку на этапе компиляции лямбда-выражений.
Типы параметров lambda-выражения должны точно совпадать с типами параметров метода функционального интерфейса по количеству и порядку.
Новый — ещё не проверен сообществом
Вы