Rumah  >  Artikel  >  Java  >  Bagaimanakah Kaedah dengan Jenis Pulangan Boleh Digunakan dengan Antara Muka Pengguna Java?

Bagaimanakah Kaedah dengan Jenis Pulangan Boleh Digunakan dengan Antara Muka Pengguna Java?

Barbara Streisand
Barbara Streisandasal
2024-11-23 04:12:13575semak imbas

How Can Methods with Return Types Be Used with Java's Consumer Interface?

Memahami Rujukan Kaedah Lambda dengan Keserasian Jenis Pulangan

Ekspresi Lambda dan rujukan kaedah menyediakan cara alternatif untuk mentakrif antara muka berfungsi dalam Java. Walau bagaimanapun, kekeliruan timbul apabila rujukan kaedah dengan jenis pulangan kelihatan sepadan dengan antara muka Pengguna, walaupun kaedah terima Pengguna mempunyai jenis pulangan yang tidak sah.

Asas untuk Reka Bentuk

Seperti yang dijelaskan oleh Brian Goetz, tingkah laku ini adalah disengajakan. Ia membolehkan pembangun menyesuaikan kaedah kepada antara muka berfungsi dengan cara yang sama mereka akan memanggil kaedah secara langsung. Oleh itu, kaedah pemulangan nilai boleh digunakan dengan antara muka Pengguna, mengabaikan nilai pulangan.

Ungkapan Lambda dan Jenis Pulangan

Ekspresi Lambda boleh mengambil dua bentuk:

  • (args) -> ungkapan: Borang ini menilai kepada nilai dan oleh itu tidak boleh batal serasi. Contohnya, () -> { kembalikan ""; } tidak serasi batal, manakala () -> {} atau () -> { kembali; } ialah.
  • (args) -> { statements* }: Borang ini mengandungi satu atau lebih pernyataan. Ia tidak serasi jika tiada laluan kod cuba mengembalikan nilai. Pengecualian yang menghalang penyiapan biasa juga menjadikan lambdas tersebut tidak serasi.

Rujukan dan Pernyataan Kaedah

Rujukan kaedah ialah cara lain untuk menentukan antara muka berfungsi. Walau bagaimanapun, tidak semua kaedah boleh digunakan sebagai rujukan kaedah dengan Pengguna. Khususnya:

  • Kaedah dengan jenis pemulangan selain daripada batal tidak boleh digunakan sebagai rujukan kaedah dengan Pengguna.
  • Ungkapan yang juga merupakan pernyataan boleh tidak serasi. Contohnya, s -> s.toString() adalah serasi batal, kerana seruan kaedah dianggap sebagai pernyataan.

Pengecualian

Satu-satunya bentuk ungkapan yang tidak serasi nilai ialah (arg) -> methodReturningVoid(arg). Ini kerana ia tidak mengembalikan nilai.

Kesimpulan

Keserasian rujukan kaedah dengan Pengguna bergantung pada jenis pulangan dan sama ada ungkapan itu boleh digunakan sebagai pernyataan. Memahami konsep ini membantu menjelaskan cara lambda dan rujukan kaedah berinteraksi dengan antara muka berfungsi dalam Java.

Atas ialah kandungan terperinci Bagaimanakah Kaedah dengan Jenis Pulangan Boleh Digunakan dengan Antara Muka Pengguna Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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