Sobes.tech
Middle
148

Co víte o funkčních rozhraních v Java 8 a novějších verzích?

Odpověď od AI

sobes.tech AI

Funkční rozhraní je rozhraní, které obsahuje pouze jednu abstraktní metodu. Používá se k implementaci lambda výrazů a odkazů na metody. Mohou mít výchozí a statické metody.

Příklady vestavěných funkčních rozhraní v balíčku java.util.function:

  • Predicate<T>: Přijímá argument typu T a vrací hodnotu boolean.
    // public boolean test(T t);
    
  • Consumer<T>: Přijímá argument typu T a nic nevrací. Provádí akci s argumentem.
    // public void accept(T t);
    
  • Supplier<T>: Nepřijímá argumenty a vrací hodnotu typu T.
    // public T get();
    
  • Function<T, R>: Přijímá argument typu T a vrací hodnotu typu R.
    // public R apply(T t);
    

Anotace @FunctionalInterface je volitelná, ale doporučuje se pro kontrolu kompilátorem a pro jasnost.

@FunctionalInterface
interface MyFunction {
    String process(String input);
    
    default void doNothing() {
        // Výchozí metoda
    }
}