Ang Java Util comparator ba ay isang functional na interface?
Ang Java Util comparator ba ay isang functional na interface?

Video: Ang Java Util comparator ba ay isang functional na interface?

Video: Ang Java Util comparator ba ay isang functional na interface?
Video: Кофеден артық: Голанг. Неліктен Java әзірлеушілері GO тілін екінші тіл ретінде үйренуде. 2024, Abril
Anonim

Panimula. Ang interface ng paghahambing ay sumailalim sa isang malaking pag-aayos sa Java8 habang pinapanatili pa rin ang kakanyahan nito na ang paghambingin at pag-uri-uriin ang mga bagay sa mga koleksyon. Kumpare ngayon ay sumusuporta sa mga deklarasyon sa pamamagitan ng lambda expression dahil ito ay a Functional na Interface . Narito ang isang simpleng source code para sa java.

Tungkol dito, ang comparator ba ay isang functional na interface?

Ang lahat ng mga object sa Java ay mayroon nang pagpapatupad ng equals() method, dahil minana nila ito mula sa class Object. Kaya, Kumpare ay isang functional na interface dahil mayroon lamang isang hindi ipinatupad na abstract na pamamaraan: ihambing (T o1, T o2).

Maaaring magtanong din, ano ang ginagawa ng isang comparator sa Java? Java Comparator ay isang interface para sa pag-uuri Java mga bagay. Hinihikayat ng " java . kumpare ,” Java Comparator pinagkukumpara ang dalawa Java mga bagay sa isang format na "compare(Object 01, Object 02)". Gamit ang mga paraan ng pagsasaayos, Java Comparator maaaring maghambing ng mga bagay upang ibalik ang isang integer batay sa isang positibo, pantay o negatibong paghahambing.

Bukod pa rito, ano ang paggamit ng functional interface sa Java?

A functional na interface ay isang interface na naglalaman lamang ng isang abstract na pamamaraan. Maaari lang silang magkaroon ng isang functionality na ipapakita. Mula sa Java 8 pataas, maaaring gamitin ang mga lambda expression upang kumatawan sa instance ng a functional na interface . Runnable, ActionListener, Comparable ang ilan sa mga halimbawa ng functional mga interface.

Ang Lambda ba ay para lamang sa mga functional na interface?

Oo, lambda maaaring gamitin ang mga ekspresyon lamang upang ipatupad ang abstract na pamamaraan sa loob ng a functional na interface . Ang Java ay isang object-oriented na wika, samantalang lambda ang mga ekspresyon ay a functional tampok. Upang magdagdag lambda expression suporta sa Java, Java 8 nagpasya na ipakilala mga functional na interface.

Inirerekumendang: