int和Integer之间的区别

时间:2013-05-30 12:32:00

标签: java integer int wrapper primitive-types

intInteger之间有什么区别?是的,一个是primitive,另一个是wrapper,这是正确使用它们的情况。

还有什么区别:

int i=0;
++i
and 
i++

5 个答案:

答案 0 :(得分:6)

第1部分

一个例子..您可以使用Integer作为HashMap的键,但不能使用int。因为需要Object

因此,当您需要int值作为对象时,您需要使用Integer类。

第2部分

++我是预增量 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.

答案 1 :(得分:3)

Integerint的包装类,它是一种原始数据类型。当Integer无法满足时使用int。例如:在泛型中,泛型类,方法或变量的类型不能接受原始数据类型。在这种情况下,Integer来救援。

List<int> list;   //Doesn't compiles
List<Integer> list;  // Compiles

此外Integer附带了大量静态方法,例如toBinaryStringtoHexStringnumberOfLeadingZeros等,这些方法非常方便。

答案 2 :(得分:3)

如上所述   Integer是一个对象,而int是一个原语。因此,您可以对Integer及其Set或List进行空引用。你不能用int

做到这一点

当我必须在数据库中存储int值时,我发现这个空引用非常有用。我使用Integer时可以存储空值。但是当我使用int时不能这样做。

答案 3 :(得分:1)

Integer是一个对象,而int是一个原语。因此,您可以对Integer以及SetList提供空引用。你不能用int

来做到这一点

答案 4 :(得分:1)

基本解释是int是原始数据类型,字面上只是存储在内存中的值。 Integer是一个Java对象,它在一个Class中包含int,其中包含许多很好/有用的方法,可以调用它们来处理隐藏在其中的后备int。这与大多数原始数据类型相同,例如booleanBooleancharCharacter等。这被称为Boxing一个原始的。拆箱是相反的,采取一个对象并提取支持原始。

以下是一个示例,说明如何使用IntegerString转换为int(加框为Integer

String someString = "10";
Integer intObj = Integer.parseInt(someString);
System.out.println(intObj.toString());

您会发现某些数据类型的方法比其他方法更有用。检查您感兴趣的每种类型的JavaDoc,那里有很多好东西!