public class NumFunc<T extends Number> {
public static void main(String[] args) {
Double[] a=new Double[]{3.14,4.56,7.89,9.45};
//Integer[] b=new Integer[]{8,7,4,5,2,4,1};
System.out.println(minValue(a));
System.out.println(maxValue(a));
}
/**
* 最小值
* @return 最小值
*/
public static <T> T minValue(T[] a) {
T min = (T)a[0];
for (int i = 1; i < a.length; i++){
if (a[i].toString().compareTo(min.toString())<0){
min = a[i]; // 未对参数类型 T, T 定义运算符 <
}
}
return min;
}
/**
* 最大值
* @return 最大值
*/
public static <T> T maxValue(T[] a) {
T max = (T)a[0];
for (int i = 1; i < a.length; i++){
if (a[i].toString().compareTo(max.toString())>0){
max = a[i]; // 未对参数类型 T, T 定义运算符 >
}
}
return max;
}
}
|