Java多泛型如何定義和使用

小樊
83
2024-09-12 21:54:18
欄目: 編程語言

在Java中,泛型(Generics)是一種編程語言特性,允許你在類、接口和方法中使用類型參數(shù)。這有助于提高代碼的可重用性和類型安全性。要定義和使用多個(gè)泛型,只需在尖括號(hào)<>內(nèi)添加逗號(hào)分隔的類型參數(shù)列表。下面是如何定義和使用多個(gè)泛型的示例:

  1. 定義一個(gè)帶有多個(gè)泛型的類:
public class MultiGenericClass<T, U> {
    private T first;
    private U second;

    public MultiGenericClass(T first, U second) {
        this.first = first;
        this.second = second;
    }

    public T getFirst() {
        return first;
    }

    public void setFirst(T first) {
        this.first = first;
    }

    public U getSecond() {
        return second;
    }

    public void setSecond(U second) {
        this.second = second;
    }
}

在這個(gè)例子中,我們定義了一個(gè)名為MultiGenericClass的類,它接受兩個(gè)泛型類型參數(shù)TU。

  1. 使用多個(gè)泛型的類:
public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建一個(gè)MultiGenericClass實(shí)例,其中T為String類型,U為Integer類型
        MultiGenericClass<String, Integer> multiGeneric = new MultiGenericClass<>("Hello", 42);

        System.out.println("First: " + multiGeneric.getFirst()); // 輸出:First: Hello
        System.out.println("Second: " + multiGeneric.getSecond()); // 輸出:Second: 42
    }
}

在這個(gè)例子中,我們創(chuàng)建了一個(gè)MultiGenericClass實(shí)例,并為其指定了兩個(gè)泛型類型參數(shù):StringInteger。

  1. 定義一個(gè)帶有多個(gè)泛型的方法:
public class GenericMethods {
    public static <T, U> void printPair(T first, U second) {
        System.out.println("First: " + first);
        System.out.println("Second: " + second);
    }

    public static void main(String[] args) {
        // 調(diào)用printPair方法,傳入String和Integer類型的參數(shù)
        printPair("Hello", 42);
    }
}

在這個(gè)例子中,我們定義了一個(gè)名為printPair的靜態(tài)泛型方法,它接受兩個(gè)泛型類型參數(shù)TU。在main方法中,我們調(diào)用了printPair方法,并為其傳入了StringInteger類型的參數(shù)。

總之,要定義和使用多個(gè)泛型,只需在尖括號(hào)<>內(nèi)添加逗號(hào)分隔的類型參數(shù)列表,并在使用時(shí)為這些類型參數(shù)指定具體的類型。這將提高代碼的可重用性和類型安全性。

0