Sobes.tech
Middle
154

Java 8 ve üzeri sürümlerde fonksiyonel arayüzler hakkında ne biliyorsunuz?

AI'dan gelen yanıt

sobes.tech yapay zeka

Fonksiyonel arayüz, yalnızca bir soyut metoda sahip olan arayüzdür. Lambda ifadeleri ve metod referanslarının uygulanmasında kullanılırlar. Varsayılan ve static metodlara sahip olabilirler.

java.util.function paketinde yer alan yerleşik fonksiyonel arayüz örnekleri:

  • Predicate<T>: Bir T türünde argüman alır ve boolean değer döner.
    // public boolean test(T t);
    
  • Consumer<T>: Bir T türünde argüman alır ve hiçbir şey döndürmez. Argüman üzerinde işlem yapar.
    // public void accept(T t);
    
  • Supplier<T>: Argüman almaz ve T türünde değer döner.
    // public T get();
    
  • Function<T, R>: Bir T türünde argüman alır ve R türünde değer döner.
    // public R apply(T t);
    

@FunctionalInterface anotasyonu isteğe bağlıdır, ancak derleyici tarafından doğrulama ve açıklık için önerilir.

@FunctionalInterface
interface MyFunction {
    String process(String input);
    
    default void doNothing() {
        // Varsayılan metod
    }
}