为什么这个不起作用:
ArrayList<LinkedList<int>>
这个人做的地方:
ArrayList<LinkedList<Integer>>
???
答案 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