为什么我不能将“int”作为数组列表的类型?

2022-09-01 01:32:32

我想声明一个类型。ArrayListint

为什么下面会给我一个错误:

ArrayList<int> list1 = new ArrayList<int>();

但以下工作:

ArrayList<Integer> list1 = new ArrayList<Integer>();

?


答案 1

ArrayList只能引用类型,而不能引用基元。 是一个类,而不是一个基元。Integer

声明 时,您将创建一个将存储类型而不是基元的函数。ArrayList<Integer> list1 = new ArrayList<Integer>()ArrayListIntegerint

如果您想了解基元类型和引用类型之间的区别,请查看 http://pages.cs.wisc.edu/~hasti/cs302/examples/primitiveVsRef.html


答案 2

因为 是基元类型。只有引用类型可以用作泛型参数。int