Rumah  >  Artikel  >  Java  >  Apakah sempadan atas dan bawah generik fungsi Java? bagaimana nak guna?

Apakah sempadan atas dan bawah generik fungsi Java? bagaimana nak guna?

王林
王林asal
2024-04-26 11:45:02643semak imbas

Generik fungsi Java membenarkan menetapkan sempadan atas dan bawah. Had atas (lanjutan) menentukan bahawa jenis data yang diterima atau dikembalikan oleh fungsi mestilah subjenis jenis yang ditentukan, seperti 7bac7e57b1a28a76cdacdabd991c2663. Had bawah (super) menentukan bahawa jenis data yang diterima atau dikembalikan oleh fungsi mestilah jenis super jenis yang ditentukan, seperti 8991fee22ef165e6bc8a2922b920a06c. Penggunaan generik meningkatkan kebolehgunaan semula kod dan keselamatan.

Java 函数泛型的上限和下限是什么?如何使用?

Sempadan atas dan bawah untuk generik fungsi Java

Generik fungsi ialah mekanisme berkuasa yang membolehkan kita menentukan pada masa penyusunan jenis data yang boleh dikendalikan oleh sesuatu fungsi. Generik dalam Java boleh mengisytiharkan sempadan atas dan bawah untuk mengehadkan jenis data yang diterima atau dikembalikan oleh fungsi.

Upper Bound

Had atas menentukan bahawa jenis data yang boleh diterima atau dikembalikan oleh fungsi mestilah subjenis jenis yang ditentukan. Ia ditentukan menggunakan kata kunci extends. Contohnya:

public <T extends Number> void printNumber(T number) {
   System.out.println(number);
}

Fungsi ini hanya boleh menerima jenis Nombor atau subkelasnya (cth., Integer, Double, Float).

Lower Bound (Lower Bound)

lower bound menentukan bahawa jenis data yang boleh diterima atau dikembalikan oleh fungsi mestilah supertype dari jenis tertentu. Ia ditentukan menggunakan kata kunci super. Contohnya:

public <T super Number> void sumNumbers(List<T> numbers) {
   double sum = 0;
   for (T number : numbers) {
       sum += number.doubleValue();
   }
}

Fungsi ini boleh menerima Nombor atau senarai superjenisnya, seperti Senaraicd58c32d5e757de14e57eda311b17a48 atau Senaraic0f559cc8d56b43654fcbe4aa9df7b4a. . Apabila menentukan sempadan atas dan bawah, ingat perkara berikut:

Sempadan atas menentukan bahawa jenis data yang boleh dikendalikan oleh fungsi mestilah subjenis daripada jenis yang ditentukan.

Had bawah menentukan bahawa jenis data yang boleh dikendalikan oleh fungsi mestilah superjenis jenis yang ditentukan.

Anda boleh menggunakan kedua-dua sempadan atas dan bawah untuk mengehadkan lagi jenis data yang diterima atau dikembalikan oleh fungsi.

Penggunaan generik boleh meningkatkan kebolehgunaan semula kod dan keselamatan.

Atas ialah kandungan terperinci Apakah sempadan atas dan bawah generik fungsi Java? bagaimana nak guna?. 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