Java Functional Interface Nədir?
Java-da funksional interfeyslər (Functional Interfaces), yalnız bir abstrakt metodu olan interfeyslərdir. Onlar, lambda ifadələri və metod referansları üçün bir hədəf növü kimi istifadə olunur. Java 8-dən bəri tətbiq olunan bu xüsusiyyət, kodun daha qısa və daha oxunaqlı olmasına kömək edir.
Əsas Funksional İnterfeyslər
Java-da bəzi standart funksional interfeyslər mövcuddur:
- Function
: T tipində bir input alır və R tipində bir output qaytarır. - Consumer
: T tipində bir input alır və heç bir şey qaytarmır (void qaytarır). - Supplier
: Heç bir input almır və T tipində bir output qaytarır. - Predicate
: T tipində bir input alır və boolean qaytarır. - UnaryOperator
: Eyni tipdə input alır və output verir (T tipində). - BinaryOperator
: Eyni tipdə iki input alır və output verir (T tipində).
Lambda İfadələri və Funksional İnterfeyslər
Lambda ifadələri, funksional interfeyslərin implementasiyasını daha qısa və oxunaqlı etmək üçün istifadə olunur. Məsələn, bir Comparator
interfeysi funksional interfeysdır, çünki onun yalnız bir abstrakt metodu var: compare
.
Comparator comparator = (a, b) -> a - b;
Misal
Gəlin bir Function
interfeysindən istifadə edərək bir lambda ifadəsi nümunəsinə baxaq:
Function square = x -> x * x;
int result = square.apply(5); // 25 qaytarır
Öz Funksional İnterfeysinizi Yaratmaq
Öz funksional interfeysinizi yaratmaq üçün interfeysin üzərində @FunctionalInterface
anotasyonunu istifadə edə bilərsiniz:
@FunctionalInterface
interface MyFunctionalInterface {
void execute();
}
Funksional interfeyslər, Java-da lambda ifadələri və metod referansları ilə işləmək üçün əsas komponentlərdir. Onlar yalnız bir abstrakt metodu olan interfeyslərdir və kodun daha qısa və təmiz olmasına kömək edir. Java-da mövcud olan standart funksional interfeysləri istifadə edə bilər və ya öz xüsusi funksional interfeyslərinizi yarada bilərsiniz.