1.Arrays.asList方法的问题
为什在使用Arrays.asList()方法时,当传入基本数据类型数组,返回的是List<数组>,当传入String[] 与Integer[]返回的却是List<String>与List<Integer>?
int[] arr = {1,2,3};
Integer[] arr2 = {4,5,6};
String[] str = {"1","2"};
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.asList(arr2));
System.out.println(Arrays.asList(arr).toString());
System.out.println(Arrays.asList(str).toString());
2.泛型类型继承接口的问题
package _20191220;
import java.util.Arrays;
//泛型 返回最大值
public class MaximumTest {
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;
}
if(z.compareTo(max)>0) {
max = z;
}
return max;
}
public static void main(String[] args) {
System.out.printf("%d, %d 和 %d 中最大的数为 %d
",
3,4,5,maximum(3,4,5));
System.out.printf("%.1f, %.1f 和 %.1f 中最大的数为 %.1f
",
6.6,8.8,7.7,maximum(6.6,8.8,7.7));
System.out.printf("%s, %s, 和 %s 中最大的数为 %s
",
"apple","orange","watermelon",maximum("apple","orange","watermelon"));
}
}
Compareble作为一个接口,T为何能继承它,为何不需要重写compareTo方法?