Kas Java Utili komparaator on funktsionaalne liides?
Kas Java Utili komparaator on funktsionaalne liides?

Video: Kas Java Utili komparaator on funktsionaalne liides?

Video: Kas Java Utili komparaator on funktsionaalne liides?
Video: 20 kasulikku Aliexpressi autotööstust, mis pöördub iga autoomaniku poole 2024, Aprill
Anonim

Sissejuhatus. The võrdlusliides on Java8-s läbinud põhjaliku uuenduse, säilitades samas selle olemuse, milleks on kogudes olevate objektide võrdlemine ja sortimine. Võrdleja toetab nüüd deklaratsioone lambda-avaldiste kaudu, kuna see on a Funktsionaalne liides . Siin on selle jaoks lihtne lähtekood java.

Seoses sellega, kas komparaator on funktsionaalne liides?

Kõigil Java objektidel on juba meetodi equals() rakendamine, kuna nad pärivad selle klassist Object. Niisiis, Võrdleja on funktsionaalne liides sest on ainult üks rakendamata abstraktne meetod: võrdle (T o1, T o2).

Võib ka küsida, mida teeb võrdlusseade Javaga? Java võrdleja on liides sortimiseks Java objektid. Kutsus välja " java . võrdleja ,” Java võrdleja võrdleb kahte Java objektid "võrdle (Objekt 01, Objekt 02)" vormingus. Kasutades konfigureeritavaid meetodeid, Java võrdleja saab võrrelda objekte, et tagastada täisarv positiivse, võrdse või negatiivse võrdluse põhjal.

Lisaks, mis on Java funktsionaalse liidese kasutamine?

A funktsionaalne liides on an liides mis sisaldab ainult ühte abstraktset meetodit. Neil võib olla ainult üks funktsioon, mida näidata. Alates Java Alates 8. aastast saab lambda-avaldisi kasutada a esinemise esindamiseks funktsionaalne liides . Runnable, ActionListener, Comparable on mõned näited funktsionaalne liidesed.

Kas Lambda on mõeldud ainult funktsionaalsete liideste jaoks?

jah, lambda väljendeid saab kasutada ainult abstraktse meetodi rakendamiseks a funktsionaalne liides . Java on objektorienteeritud keel, samas lambda väljendid on a funktsionaalne tunnusjoon. Selleks, et lisada lambda väljenduse tugi Javale, otsustas Java 8 kasutusele võtta funktsionaalsed liidesed.

Soovitan: