Java泛型的使用

1 泛型方法

2 泛型类

class GenericMethodTest {
    // 泛型方法 printArray
    public static <E> void printArray(E[] inputArray) {
        // 输出数组元素
        for (E element : inputArray) {
            System.out.printf("%s ", element);
        }
        System.out.println();
    }

    // 比较三个值并返回最大值
    public static <T extends Comparable<T>> T maximum(T x, T y, T z) {
        T max = x; // 假设x是初始最大值
        if (y.compareTo(max) > 0) {
            max = y; // y 更大
        }
        if (z.compareTo(max) > 0) {
            max = z; // 现在 z 更大
        }
        return max; // 返回最大对象
    }
}

class Box<T> {

    private T t;

    public void add(T t) {
        this.t = t;
    }

    public T get() {
        return t;
    }
}

使用 T extends Comparable<T>  限定 T 是 Comparable的实现

总结一下:

1 范型类必须在类名后面添加 <T>

2 范型方法必须使用 <T> 修饰方法

其实很明显,T 无论在泛型类还是泛型方法而言更像是一个修饰符,当然使用的像是闭包内局部生效的的java class对象;

后面在定义的泛型类、function内部可以使用这个  java type 去定义其他变量类型

 

 

 

 

posted @ 2022-04-27 17:51  许伟强  阅读(746)  评论(0)    收藏  举报