泛型语法:类与原始数据类型

时间:2010-05-30 17:42:58

标签: java generics primitive-types

为什么这个不起作用:

ArrayList<LinkedList<int>> 

这个人做的地方:

ArrayList<LinkedList<Integer>> 

???

3 个答案:

答案 0 :(得分:6)

因为Java只能使用类(而不是基本类型)和数组(也是基元的数组)用于泛型(<>之间)。

List<Integer> list;

这也是原始类型包装类的原因:

int -> Integer
boolean -> Boolean
double -> Double
byte -> Byte
etc...

答案 1 :(得分:1)

<>中的参数必须是一个对象,因为这些类只能保存对象。

int是一种基本类型,其中Integer只是该类型的包装类,因此Integer是可以工作的类。

答案 2 :(得分:0)

因为定义为LinkedList< T >且只有Object可以在< T >

int是原始类型,因此LinkedList< int > - compile error
Integer是对象LinkedList < Integer > - right one