1

int和有什么区别Integer。是的,一个是primitive,一个是wrapper,什么情况下才能正确使用。

还有什么区别:

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

5 回答 5

6

第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.
于 2013-05-30T12:35:46.033 回答
3

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

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

此外,还Integer附带了大量的静态方法,例如toBinaryStringtoHexStringnumberOfLeadingZeros等,它们可以派上用场。

于 2013-05-30T12:48:58.540 回答
3

如上所述,Integer 是对象,而 int 是基元。因此,您可以对 Integer 和它们的 Set 或 List 进行空引用。你不能用 int 做到这一点

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

于 2013-05-30T13:19:21.737 回答
1

AnInteger是一个对象,而 anint是一个基元。因此,您可以对它们中的 anInteger和 a Setor进行空引用List。你不能用int.

于 2013-05-30T12:41:02.247 回答
1

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

这是一个如何使用Integer将 aString转换为int( 装箱为Integer)的示例

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

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

于 2013-05-30T15:15:04.273 回答