在Java中,List = new ArrayList<>() 而不是 List = new ArrayList<>(),这是因为Java的泛型类型不能使用基本数据类型(如 int、double 等)。泛型是在编译时检查类型安全,并在运行时保持类型信息的类型参数机制。Java的泛型设计只适用于引用类型,而不适用于基本数据类型。

当你使用 List 时,你正在使用一个泛型列表,其中元素类型被明确指定为 Integer 类型的对象。Integer 是 int 的封装类,它可以作为引用类型使用,因此可以用于泛型。

另一方面,int 是基本数据类型,它没有类结构,也就无法携带类型参数。如果你尝试使用 List,编译器会抛出错误,因为你试图将基本数据类型 int 用作泛型参数,这是不被允许的。

然而,Java 提供了自动装箱和拆箱机制,这使得在使用 List 时可以自动将 int 值转换为 Integer 对象,或者将 Integer 对象转换回 int 值,从而简化了编程过程
在这里插入图片描述
总结来说,List 使用对象类型并且支持泛型,而 List 不合法,因为 int 是基本数据类型,不能作为泛型参数使用。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐