Sobes.tech
Middle

Java 8 va undan yuqori versiyalarda funksional interfeyslar haqida nima bilasiz?

sobes.tech AI

AIdan javob

Funktsional interfeys — bu faqat bitta abstrakt metodani o'z ichiga olgan interfeys. Ular lambda ifodalarini va metodga havolalarni amalga oshirish uchun ishlatiladi. Ular default va static metodlarga ega bo'lishi mumkin.

java.util.function paketida kiritilgan funktsional interfeyslarning misollari:

  • Predicate<T>: T turidagi argumentni qabul qiladi va boolean qiymat qaytaradi.
    // public boolean test(T t);
    
  • Consumer<T>: T turidagi argumentni qabul qiladi va hech narsa qaytarmaydi. Argument ustida amal bajaradi.
    // public void accept(T t);
    
  • Supplier<T>: Argument qabul qilmaydi va T turidagi qiymatni qaytaradi.
    // public T get();
    
  • Function<T, R>: T turidagi argumentni qabul qiladi va R turidagi qiymatni qaytaradi.
    // public R apply(T t);
    

@FunctionalInterface annotatsiyasi ixtiyoriy, lekin kompilyator tomonidan tekshirish va aniqlik uchun tavsiya etiladi.

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