Rumah > Java > javaTutorial > Kekeliruan Sekitar Kaedah Rujukan

Kekeliruan Sekitar Kaedah Rujukan

Patricia Arquette
Lepaskan: 2024-09-23 06:21:14
asal
508 orang telah melayarinya

Confusion Around Method Referencing

Rujukan kaedah dalam Java menyediakan cara untuk merujuk kepada kaedah atau pembina tanpa memanggilnya secara eksplisit. Ia boleh dianggap sebagai singkatan untuk menulis ungkapan lambda yang mudah.

Kebanyakan kaedah rujukan boleh sama ada statik atau berkaitan dengan contoh:

Integer::sum;
System.out::println;
Salin selepas log masuk

Ini ialah contoh rujukan kaedah statik (juga dikenali sebagai rujukan terikat).

Walau bagaimanapun, pertimbangkan ini:

String::concat
Salin selepas log masuk

Di sini, concatis bukan kaedah statik, jadi bagaimana ini berfungsi? Ini adalah contoh rujukan tidak terikat. Pengkompil memahami bahawa ini adalah rujukan kaedah contoh berdasarkan cara kod kami ditulis. Ini memungkinkan untuk memudahkan panggilan kaedah seperti ini.

Cara kami menulis kod kami menentukan jenis rujukan ini (terutamanya yang tidak terikat). Mengambil contoh concatas:

((a, b) -> a + b, "Hello", "World");
// ----------------Is same as -------------
((a, b) -> a.concat(b), "Hello", "World"); // This one could be replaced by mehod referencing

// ----------------Alternative-------------

(String::concat, "Hello", "World");

/* The use of 'a' as the first parameter and calling `concat `of 'a' itself 
gives the compiler an idea of how it should decode `String::concat`*/
Salin selepas log masuk

Jadi, daripada menulis lambda penuh, kita boleh ringkaskan dengan rujukan kaedah.

Teruskan Belajar ?

Atas ialah kandungan terperinci Kekeliruan Sekitar Kaedah Rujukan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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