【发布时间】:2023-03-13 23:30:01
【问题描述】:
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 list generics arraylist collections