View on GitHub

我的学习笔记

好记性不如烂笔头

8.4 泛型变量的限定

/**
 * 计算数组中的最小元素  
**/
class ArrayAlg{
    //将T限制为实现了Comparable接口的类,以确信T所属的类域compareTo方法
    //使用extends而非implements表示T是绑定类型的子类型(subtype)
    //T和绑定类型可以始类,也可以是接口,选择extends的原因是更接近子类的概念
    public static <T extends Comparable> T min(T[] a){
        if (a==null || a.length==0 ) return null;
        T smallest=a[0];
        for(int i=1;i<a.length;i++)
            if(smallest.compareTo(a[i])>0)
                smallest=a[i];
        return smallest;
    } 
}

返回