Da li je Java Util komparator funkcionalno sučelje?
Da li je Java Util komparator funkcionalno sučelje?

Video: Da li je Java Util komparator funkcionalno sučelje?

Video: Da li je Java Util komparator funkcionalno sučelje?
Video: Создание аннотации в java [Java Annotations | Reflection api] 2024, April
Anonim

Uvod. The komparatorski interfejs je podvrgnuto velikoj reviziji u Javi8 dok je i dalje zadržao svoju suštinu koja je upoređivanje i sortiranje objekata u kolekcijama. Comparator sada podržava deklaracije putem lambda izraza kao što je a Funkcionalni interfejs . Evo jednostavnog izvornog koda za java.

S tim u vezi, da li je komparator funkcionalno sučelje?

Svi objekti u Javi već imaju implementaciju metode equals(), jer je nasljeđuju od klase Object. dakle, Comparator je funkcionalni interfejs jer postoji samo jedna neimplementirana apstraktna metoda: compare(T o1, T o2).

Neko se takođe može zapitati, šta komparator radi Javi? Java Comparator je interfejs za sortiranje Java objekata. Pozvan od strane “ java . komparator ,” Java Comparator upoređuje dva Java objekte u formatu “uporedi (Objekat 01, Objekat 02)”. Koristeći konfigurabilne metode, Java Comparator može upoređivati objekte da bi vratio cijeli broj na osnovu pozitivnog, jednakog ili negativnog poređenja.

Dodatno, koja je upotreba funkcionalnog interfejsa u Javi?

A funkcionalni interfejs je interfejs koji sadrži samo jednu apstraktnu metodu. Mogu imati samo jednu funkcionalnost za izlaganje. Od Java 8 nadalje, lambda izrazi se mogu koristiti za predstavljanje instance a funkcionalni interfejs . Runnable, ActionListener, Comparable su neki od primjera funkcionalan interfejsi.

Da li je Lambda samo za funkcionalna sučelja?

da, lambda mogu se koristiti izrazi samo implementirati apstraktnu metodu unutar a funkcionalni interfejs . Java je objektno orijentisani jezik, dok lambda izrazi su a funkcionalan karakteristika. Da biste dodali lambda podrška ekspresiji za Javu, Java 8 je odlučila da uvede funkcionalni interfejsi.

Preporučuje se: