Rumah > Java > javaTutorial > teks badan

Peranan generik fungsi Java dalam polimorfisme

PHPz
Lepaskan: 2024-04-27 17:03:02
asal
354 orang telah melayarinya

Peranan generik fungsi Java dalam polimorfisme: menyediakan polimorfisme dan membenarkan fungsi beroperasi pada jenis data yang berbeza. Kebolehselenggaraan kod yang dipertingkatkan, fleksibiliti dan pengurangan pertindihan. Sintaks: void myFunction(T argument), dengan T ialah parameter jenis generik. Kes sebenar: Fungsi generik untuk mengira saiz senarai data int size(List list) { return list.size( }. Kelebihan: Kebolehgunaan semula kod, fleksibiliti, keselamatan jenis.

Java 函数泛型在多态中的作用

Peranan Generik Fungsi dalam Polimorfisme di Java

Generik fungsi dalam Java menyediakan polimorfisme, membenarkan penciptaan fungsi generik yang boleh beroperasi pada jenis data yang berbeza. Polimorfisme menjadikan kod lebih boleh diselenggara, lebih fleksibel dan membantu mengurangkan pertindihan kod.

Syntax

Pengisytiharan fungsi yang mengandungi generik fungsi kelihatan seperti ini:

<T> void myFunction(T argument) {
  // 操作 Argument
}
Salin selepas log masuk

di mana T ialah parameter jenis generik yang akan digantikan dengan jenis sebenar pada masa penyusunan. T 是泛型类型参数,将在编译时替换为实际类型。

实际案例

考虑一个计算数据列表大小的函数:

int size(List<?> list) {
  return list.size();
}
Salin selepas log masuk

该函数采用一个通配符类型参数 ?,表示该函数可以接收任何类型的列表。但是,我们无法直接调用 size() 函数:

List<Integer> integers = new ArrayList<>();
int result = size(integers); // 编译错误:无法将 List<Integer> 赋值给 List<?>
Salin selepas log masuk

为了解决此问题,我们可以使用泛型函数:

<T> int size(List<T> list) {
  return list.size();
}
Salin selepas log masuk

现在,我们可以安全地调用 size()

Kes sebenar

Pertimbangkan fungsi yang mengira saiz senarai data:

int result = size(integers); // 成功编译
Salin selepas log masuk
Fungsi ini mengambil parameter jenis kad bebas ?, menunjukkan bahawa fungsi itu boleh menerima sebarang jenis senarai. Walau bagaimanapun, kami tidak boleh memanggil terus fungsi size():
    rrreee
  • Untuk menyelesaikan masalah ini, kita boleh menggunakan fungsi generik: rrreeeSekarang, kita boleh memanggil size() Fungsi:
  • rrreee
  • Kelebihan
  • Menggunakan generik fungsi untuk menyediakan polimorfisme mempunyai kelebihan berikut:
Kebolehgunaan semula kod: 🎜 Fungsi generik boleh digunakan untuk beroperasi pada keperluan penduaan kod, menghapuskan jenis data yang berbeza. 🎜🎜🎜Fleksibiliti: 🎜Fungsi boleh menyesuaikan diri secara dinamik kepada jenis yang berbeza mengikut keperluan, menjadikan kod lebih fleksibel. 🎜🎜🎜Keselamatan Jenis: 🎜Pengkompil menyemak keserasian jenis pada masa penyusunan, memberikan keselamatan jenis tambahan. 🎜🎜

Atas ialah kandungan terperinci Peranan generik fungsi Java dalam polimorfisme. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan