这个说法好像不太对。。这个定义仅仅是对 Java 是成立的。。原因在于,java严格区分 值类型(C#这么称呼,java将分配在 栈上的称为 原生数据类型,只有8种,绝无更多;C#的Struct可以自定义,因此值类型理论上可以无穷多) 和 引用类型(这个C#和Java其实都一样)。
Java更有甚者,将 分配 在 栈上的那些 如int(等8种)一律不认为是对象。。仅仅认为是 系统内置类型。。所以,Java对于集合类的处理,集合类是不能容纳 上述8种类型的。。
集合类 一定只能 hold 对象引用,而数组则是可以容纳 原生数据类型。。