为什么我们不能使用double作为通用T?

时间:2011-10-14 03:20:24

标签: java

  

可能重复:
  Why don't Generics support primitive types?

为什么我们不能将double用作T,而是我们必须使用Double?

如果使用List

,我们将遇到编译错误

4 个答案:

答案 0 :(得分:1)

泛型类型参数必须是java.lang.Object的子类。

答案 1 :(得分:1)

double不是Object,可以使用Double

答案 2 :(得分:0)

double是Java的primitive data type,而Generics类型需要java.lang.Object,而Double是对象

答案 3 :(得分:0)

T必须是非原始数据类型。乍一看似乎不方便,但有自动拳击,就是你可以有这样的东西:

List<Double> list = new ArrayList<Double>();
double x = 5.0d;
list.add(x);
double y = list.get(0);