1. Java

Java泛型实现最小值函数

0、要求

自己设计一个泛型的获取数组最小值的函数.并且这个方法只能接受Number的子类并且实现了Comparable接口。

//注意:Number并没有实现Comparable
public static < T extends Number & Comparable<? super T>> T min(T[] values){
        if (values == null || values.length == 0) return null;
        T min = values[0];
        for (T value : values) {
            if (min.compareTo(value) > 0) min = value;
        }
        return min;
}

1、测试

int minInteger = min(new Integer[]{1, 2, 3});//result:1
double minDouble = min(new Double[]{1.2, 2.2, -1d});//result:-1d
String typeError = min(new String[]{"1","3"});//报错

2、分析

参考