可能重复: 为什么Integer和int可以互换使用?
我试着理解这两者之间的区别。例如,我是否可以声明某事为int,然后将其与我输入的整数中的数字进行比较?另外,为什么Java会有这两个。为什么不把它们结合起来呢?
有人能帮我向我展示一个3-4行代码示例,说明每个代码是如何使用的吗?
发布于 2012-06-16 16:31:15
int原语不是一个对象。数组允许primiteves:
int[] array = new int[10];但仿制药不会:
List<int> //won't compile这是现在使用包装类的主要原因。此外,您还可以在需要使用Integer的地方使用Object。最后,如果要实现可选性,Integer可以具有null值。
请注意,有一些语言处理这种不一致。在c#中,您有值类型,在斯卡拉中,Int类从AnyVal类扩展,而普通对象则扩展AnyRef (这两个类都是从Any扩展的)。
发布于 2012-06-16 16:32:23
参见Java中类型的拳击。有人说,从Java 9开始,要使它们完全相同。
发布于 2012-06-16 16:33:44
int类型和整数类是不同的类型。不能直接将原始int与Integer对象进行比较。您需要从intValue对象获取Integer。int。因此,您需要一个Integer包装器。https://stackoverflow.com/questions/11065173
复制相似问题