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"});//报错