1
ArrayList<Integer> arr = new ArrayList<>();
ArrayList<Double> doub = new ArrayList<>();
arr.add(5);
arr.add(6);
arr.add(7);
doub.add(6.5);
doub.add(8.5);
doub.add(7.5);
calc_test(arr);
calc_test(doub);
public static void calc_test(List<Number> list) {
for (Number obj : list) {
System.out.println(obj + "");
}
}
我知道这是java中的错误,可以通过在函数参数中添加? extends Number
来纠正,但为什么正常方式不起作用?毕竟double和integer是一个数字类型,并且这些类型的列表仍然应该是一个数字类型,那么为什么会出现这样的错误?java中的泛型错误
编辑到您的问题的错误的细节。 – peterh