Когда мы используем лямбда-выражения, наиболее распространенной операцией является сопоставление. Однако в интерфейсе много методов, и некоторые друзья могут запутаться при сопоставлении. Что мы можем прояснить, так это то, что лямбда-выражение может сопоставлять интерфейсы, поэтому конкретные инструкции по сопоставлению будут объяснены ниже вместе с соответствующим примером кода.
1. Описание
(1) Каждая лямбда может соответствовать заданному типу через определенный интерфейс. Так называемый функциональный интерфейс должен иметь одно и только одно объявление абстрактного метода. Каждое соответствующее ему лямбда-выражение должно соответствовать объявлению абстрактного метода. Поскольку методы по умолчанию не являются абстрактными, не стесняйтесь добавлять методы по умолчанию в свой функциональный интерфейс.
(2) Любой интерфейс, содержащий только один абстрактный метод, может использоваться для лямбда-выражений. Чтобы определенный интерфейс соответствовал требованиям, он должен быть помечен @FunctionalInterface. Если в интерфейсе определен второй абстрактный метод, компилятор заметит эту аннотацию и выдаст исключение.
2. Пример
@FunctionalInterface Конвертер интерфейса<F, T> { Т конвертировать(F из); } Converter<String, Integer> Converter = (from) -> Integer.valueOf(from); Целочисленное преобразование = Converter.convert("123"); System.out.println(преобразовано); // 123;
Обратите внимание, что программа также корректна, если аннотация @FunctionalInterface не написана.
Вышеуказанное представляет собой метод сопоставления лямбда-выражений в интерфейсах Java. Я считаю, что в этой статье каждый по-новому понимает использование лямбда-выражений. Пожалуйста, попрактикуйтесь в этом как можно скорее после изучения.