Är Java Util-jämföraren ett funktionellt gränssnitt?
Är Java Util-jämföraren ett funktionellt gränssnitt?

Video: Är Java Util-jämföraren ett funktionellt gränssnitt?

Video: Är Java Util-jämföraren ett funktionellt gränssnitt?
Video: #95 Comparator vs Comparable in Java 2024, Mars
Anonim

Introduktion. De jämförelsegränssnitt har genomgått en stor översyn i Java8 samtidigt som den har behållit sin essens som är att jämföra och sortera objekt i samlingarna. Komparator stöder nu deklarationer via lambda-uttryck eftersom det är en Funktionellt gränssnitt . Här är en enkel källkod för java.

Angående detta, är komparator ett funktionellt gränssnitt?

Alla objekt i Java har redan en implementering av metoden equals() eftersom de ärver den från klassen Object. Så, Komparator är en funktionellt gränssnitt eftersom det bara finns en oimplementerad abstrakt metod: compare(T o1, T o2).

Man kan också fråga sig, vad gör en komparator Java? Java Comparator är ett gränssnitt för sortering Java objekt. Anropad av " java . komparator ,” Java Comparator jämför två Java objekt i formatet "compare(Object 01, Object 02)". Med hjälp av konfigurerbara metoder, Java Comparator kan jämföra objekt för att returnera ett heltal baserat på en positiv, lika eller negativ jämförelse.

Dessutom, vad är användningen av funktionellt gränssnitt i Java?

A funktionellt gränssnitt är en gränssnitt som bara innehåller en abstrakt metod. De kan bara ha en funktion att visa upp. Från Java 8 och framåt kan lambda-uttryck användas för att representera instansen av en funktionellt gränssnitt . Runnable, ActionListener, Comparable är några av exemplen på funktionell gränssnitt.

Är Lambda endast för funktionella gränssnitt?

Ja, lambda uttryck kan användas endast att implementera den abstrakta metoden inom en funktionellt gränssnitt . Java är dock ett objektorienterat språk lambda uttryck är en funktionell funktion. För att lägga till lambda uttrycksstöd till Java, beslutade Java 8 att införa funktionella gränssnitt.

Rekommenderad: