Java中的泛型类是一种可以接受不同类型参数的类。它可以让程序员在编写类时不需要预先确定数据类型,而是在实例化对象时再指定具体的类型。泛型类可以提高程序的灵活性和可读性,同时也可以避免类型转换的错误和安全问题。

举个例子来说明,假设我们有一个名为Pair的泛型类,它可以包含两个不同类型的对象:

public class Pair<T, U> {
    private T first;
    private U second;

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

    public T getFirst() {
        return first;
    }

    public U getSecond() {
        return second;
    }

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

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

在实例化Pair对象时,我们可以指定具体的类型,例如:

Pair<String, Integer> pair1 = new Pair<>("Hello", 123);
Pair<Double, String> pair2 = new Pair<>(3.14, "World");

这样,pair1对象的first属性就是String类型的"Hello",second属性是Integer类型的123;pair2对象的first属性是Double类型的3.14,second属性是String类型的"World"。

泛型类还可以用在方法中,例如:

public static <T> T getMax(T[] arr) {
    T max = arr[0];
    for (T item : arr) {
        if (item.compareTo(max) > 0) {
            max = item;
        }
    }
    return max;
}

这个方法接受一个泛型数组arr,返回其中最大的元素。在调用这个方法时,我们可以传入不同类型的数组:

Integer[] intArr = {1, 2, 3};
Double[] doubleArr = {1.0, 2.0, 3.0};
String[] stringArr = {"Hello", "World"};
Integer maxInt = getMax(intArr); // 返回3
Double maxDouble = getMax(doubleArr); // 返回3.0
String maxString = getMax(stringArr); // 返回"World"
``
java中的泛类型类是干什么的?并举例说明如何使用

原文地址: https://www.cveoy.top/t/topic/dihO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录