Rumah > Java > javaTutorial > Apakah Maksud Operator Anak Panah (\'->\') dalam Ungkapan Java Lambda?

Apakah Maksud Operator Anak Panah (\'->\') dalam Ungkapan Java Lambda?

Linda Hamilton
Lepaskan: 2024-11-26 04:57:10
asal
338 orang telah melayarinya

What Does the Arrow Operator (") 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 }
Salin selepas log masuk

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();
});
Salin selepas log masuk

Ekspresi lambda ialah:

(arg0) -> {
        return Car.SEDAN == ((Car)arg0).getStyle();
}
Salin selepas log masuk

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();
    }
});
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan