Rumah > Java > javaTutorial > teks badan

Adakah Java Membenarkan Pelbagai Jenis Pulangan: Pandangan Lebih Dekat pada Kaedah Generik?

Barbara Streisand
Lepaskan: 2024-11-08 08:45:02
asal
440 orang telah melayarinya

Does Java Allow Multiple Return Types: A Closer Look at Generic Methods?

Berbilang Jenis Pulangan dalam Java: Salah Tanggapan Didedahkan

Dalam bidang pengaturcaraan Java, tandatangan kaedah yang pelik mungkin timbul, membuatkan pembangun bingung :

awam Senaraikan getResult(String s);

di mana Foo ialah kelas tersuai. Pengisytiharan kaedah nampaknya mempunyai dua jenis pemulangan: Senarai dan E. Tetapi adakah ini benar-benar berlaku?

Kaedah Generik: Membongkar Misteri

Bertentangan dengan tanggapan awal, kaedah hanya mempunyai satu jenis pulangan. Sebaliknya, ia menggunakan mekanisme jenis generik, seperti yang ditunjukkan oleh notasi berlian "<>".

Tandatangan Memecahkan Kaedah:

  • : Bahagian ini mentakrifkan parameter jenis generik, E. Ia menandakan bahawa kaedah menerima argumen dari sebarang jenis yang memanjangkan kelas Foo.
  • Senarai: Jenis pulangan ialah koleksi Senarai, yang elemennya adalah jenis E. Pada dasarnya, E akan digantikan dengan jenis tertentu yang diluluskan sebagai hujah.

Sebagai ilustrasi, pertimbangkan seruan berikut:

Senaraikan result = getResult("Input String");

Di sini, kaedah akan mengembalikan Senarai objek String, memandangkan String mewarisi daripada Foo.

Kesimpulan:

Dualiti yang dirasakan bagi jenis pulangan dalam kaedah Java hanyalah ilusi yang dicipta oleh jenis generik. Generik menawarkan fleksibiliti dengan membenarkan kaedah beroperasi pada pelbagai jenis data, semuanya sambil mengekalkan jenis pulangan yang konsisten: Senarai dalam contoh khusus ini. Pemahaman ini menerangkan sifat sebenar kaedah dan keupayaan serba bolehnya.

Atas ialah kandungan terperinci Adakah Java Membenarkan Pelbagai Jenis Pulangan: Pandangan Lebih Dekat pada Kaedah Generik?. 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