Sobes.tech
Middle
152

Java 8 жана андан кийинки версияларындагы функционалдык интерфейстер жөнүндө эмне билесиз?

AIден жооп

sobes.tech AI

Функционалдуу интерфейс — бул бир гана абстракттуу методу бар интерфейс. Алар лямбда билдирүүлөрүн жана ыкмаларды шилтемелерди ишке ашыруу үчүн колдонулат. Аларда default жана static методдор болушу мүмкүн.

java.util.function пакетинде киргизилген функциялык интерфейстердин мисалдары:

  • Predicate<T>: T түрүндөгү аргументти кабыл алат жана boolean маанисин кайтарат.
    // public boolean test(T t);
    
  • Consumer<T>: T түрүндөгү аргументти кабыл алат жана эч нерсе кайтарбайт. Аргументке аракет кылат.
    // public void accept(T t);
    
  • Supplier<T>: Аргументтерди кабыл албайт жана T түрүндөгү маанини кайтарат.
    // public T get();
    
  • Function<T, R>: T түрүндөгү аргументти кабыл алат жана R түрүндөгү маанини кайтарат.
    // public R apply(T t);
    

@FunctionalInterface белги белгилөө optional, бирок компилятор тарабынан текшерүү жана ачыктык үчүн сунушталат.

@FunctionalInterface
interface MyFunction {
    String process(String input);
    
    default void doNothing() {
        // Default метод
    }
}