") Maksud dalam Ungkapan Lambda Java? " />") Maksud dalam Ungkapan Lambda Java? " />
Menyahmistikan Operator Anak Panah di Java
Dalam bidang pengaturcaraan Java, pengendali anak panah "->" pada mulanya mengangkat kening, kerana ia secara tradisinya tidak dikaitkan dengan bahasa tersebut. Ditemui dalam beberapa kod, anda mungkin tertanya-tanya apa tujuannya.
Jawapannya terletak di Jawa 8 pengenalan ungkapan lambda secara ringkas, pengendali anak panah memisahkan parameter daripada pelaksanaan.
Menyelam ke dalam Ungkapan Lambda
Ekspresi Lambda menyediakan sintaks ringkas untuk menulis fungsi tanpa nama. Struktur umum mereka mengikuti ini corak:
(Parameters) -> { Body }
Parameter (jika ada) berada dalam kurungan, serupa dengan kaedah tradisional Isi kandungan menyertakan pelaksanaan ungkapan lambda dalam pendakap.
Dalam coretan kod yang disediakan:
return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> { return Car.SEDAN == ((Car)arg0).getStyle(); });
Ekspresi lambda ialah:
(arg0) -> { return Car.SEDAN == ((Car)arg0).getStyle(); }
Di sini, parameter arg0 mewakili objek jenis Kereta Badan menyemak sama ada medan gaya objek Kereta sama dengan SEDAN, jika benar, ungkapan lambda akan kembali palsu.
Menyingkap Kod Dilipat
IntelliJ Sokongan 12 untuk Java 8 membolehkannya "melipat" ungkapan lambda ke antara muka Predikat yang lebih tradisional. Ini menjelaskan kod asal:
return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() { public boolean evaluate(Object arg0) { return Car.SEDAN == ((Car)arg0).getStyle(); } });
Kesimpulannya, pengendali anak panah di Java ialah elemen penting bagi ungkapan lambda yang diperkenalkan dalam Java 8. Ia membolehkan definisi fungsi tanpa nama yang ringkas dan intuitif, menjadikan kod lebih ekspresif dan boleh diselenggara. .
Atas ialah kandungan terperinci Apakah Maksud Operator Anak Panah (\'->\') dalam Ungkapan Java Lambda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!