我知道创建List<int>
是不可能的,因为int是基本类型。但是,我想知道为什么我可以创建List<int[]>
。基本上,我的问题是为什么Java中可能有Collection<primitive_type_array>
。
答案 0 :(得分:3)
数组是一个对象。请注意如何在其上调用标准的Object方法?同样,您可以使用新关键字初始化它。
答案 1 :(得分:2)
泛型可以包含任何非原始类型的东西。数组不是原始类型,因此允许Collection<int[]>
。请参阅:https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html
答案 2 :(得分:2)
在Java编程语言中,数组是对象(§4.3.1),是动态创建的,可以分配给Object类型的变量(§4.3.2)。可以在数组上调用Object类的所有方法。
答案 3 :(得分:-1)
因为array是一个对象,它本身保存对其他对象或基本类型的引用。 https://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html