Rumah  >  Artikel  >  Java  >  Bagaimana untuk menentukan jenis parameter kaedah generik?

Bagaimana untuk menentukan jenis parameter kaedah generik?

PHPz
PHPzasal
2024-05-03 11:54:02677semak imbas

Kaedah generik menggunakan parameter jenis untuk menentukan jenis data yang boleh dikendalikan Sintaks parameter jenis ialah , yang boleh ditentukan dengan menyatakan jenis secara jelas atau menggunakan kad bebas, seperti: ? T (batas atas) dan ? super T (batas bawah). Kad bebas menentukan skop parameter jenis, contohnya, ? memanjangkan T bermakna parameter jenis mestilah jenis T atau subkelasnya.

Bagaimana untuk menentukan jenis parameter kaedah generik?

Spesifikasi Parameter Jenis Kaedah Generik

Di Java, kaedah generik membenarkan pembangun mencipta kaedah yang beroperasi pada pelbagai jenis. Apabila mentakrifkan kaedah generik, kita perlu menentukan parameter jenis. Parameter jenis menentukan jenis data yang boleh dikendalikan oleh kaedah.

Sintaks parameter jenis

Parameter jenis ditentukan dalam kurungan sudut :

<T> void myMethod(T value) {
    // 代码主体
}

Dalam contoh ini, <t></t> ialah parameter jenis, yang bermaksud kaedah itu boleh beroperasi pada sebarang jenis objek. <t></t> 是类型参数,它表示方法可以操作任何类型的对象。

指定类型参数

类型参数可以通过明确指定类型来指定:

<String> void myMethod(String value) {
    // 操作 String 类型的数据
}

也可以使用通配符来指定类型参数:

  • ?:无界通配符,表示类型参数可以是任何类型。
  • ? extends T:上界通配符,表示类型参数必须是 T 类型或其子类。
  • ? super T:下界通配符,表示类型参数必须是 T 类型或其超类。

实战案例

假设我们有一个 List,其中包含各种类型的对象。我们想编写一个方法来打印列表中的每个元素:

import java.util.List;

public class Example {

    public static void main(String[] args) {
        List<Object> myList = List.of("Hello", 10, true);
        printElements(myList);
    }

    public static <T> void printElements(List<T> list) {
        for (T element : list) {
            System.out.println(element);
        }
    }
}

在这个例子中,printElements 方法是泛型的,它使用类型参数 T

🎜Nyatakan parameter jenis🎜🎜🎜Parameter jenis boleh ditentukan dengan menyatakan secara jelas jenis: 🎜rrreee🎜Anda juga boleh menggunakan kad bebas untuk menentukan parameter jenis: 🎜
  • ?: unbounded wildcard, Menunjukkan bahawa parameter jenis boleh terdiri daripada sebarang jenis.
  • ? memanjangkan T: Kad bebas sempadan atas, menunjukkan bahawa parameter jenis mestilah jenis T atau subkelasnya.
  • ? super T: kad bebas sempadan bawah, menunjukkan bahawa parameter jenis mestilah jenis T atau superclassnya.
🎜🎜Kes praktikal🎜🎜🎜Andaikan kita mempunyai Senarai yang mengandungi pelbagai jenis objek. Kami ingin menulis kaedah yang mencetak setiap elemen dalam senarai: 🎜rrreee🎜Dalam contoh ini, kaedah printElements adalah generik dan mengambil parameter jenis T. Oleh itu, ia boleh mencetak sebarang jenis data dalam senarai. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menentukan jenis parameter kaedah generik?. 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