int和Integer之间的区别
int
和Integer
什么区别。 是的,一个是primitive
,另一个是wrapper
,正确使用它们的情况是什么。
还有什么区别:
int i=0; ++i and i++
第1部分
一个例子..您可以使用Integer
作为HashMap
的键,但不能使用int。 因为需要一个Object
。
因此,在需要int
值作为对象的地方,您需要使用Integer
类。
第2部分
++ i是预增量i ++是后增量
例如
i = 0; System.out.println(i++) //will print 0 then the i will be 1.
和
i = 0; System.out.println(++i) // here i wil be incremented first then print 1.
Integer
是int
的包装类,它是一种原始数据类型。 当int
不能满足时使用Integer
。 例如:在generics中,generics类,方法或变量的类型不能接受原始数据类型。 在那种情况下, Integer
来救援。
List list; //Doesn't compiles List list; // Compiles
此外, Integer
附带了大量的静态方法,比如toBinaryString
, toHexString
, numberOfLeadingZeros
等,这些方法非常方便。
如上所述,Integer是一个对象,而int是一个原语。 因此,您可以对Integer及其Set或List进行空引用。 你不能用int做到这一点
当我必须在数据库中存储int值时,我发现这个空引用非常有用。 我使用Integer时可以存储空值。 但是当我使用int时不能这样做。
Integer
是一个对象,而int
是一个原语。 因此,您可以对Integer
及其Set
或List
进行空引用。 你不能用int
做到这一点。
基本解释是int
是原始数据类型,字面上只是存储在内存中的值。 Integer
是一个Java对象,它在一个Class中包含一个int
,它包含许多很好/有用的方法,可以调用这些方法来处理隐藏在里面的后备int
。 这与大多数原始数据类型相同,例如boolean
和Boolean
, char
和Character
等。这被称为Boxing
a primitive。 拆箱是相反的,采取对象并提取支持原始。
这是一个如何使用Integer
将String
转换为int
(盒装到Integer
)的示例
String someString = "10"; Integer intObj = Integer.parseInt(someString); System.out.println(intObj.toString());
您会发现某些数据类型比其他数据类型具有更多有用的方法。 查看您感兴趣的每种类型的JavaDoc,那里有很多好东西!