例如,看看这段代码:
Integer myInt = new Integer(5);
int i1 = myInt.intValue();
int i2 = myInt;
System.out.println(i1);
System.out.println(i2);
如您所见,我有两种方法可以将整数值从包装器复制到原始值:
我可以使用拆箱,
或者
我可以使用方法Integer#intValue()
。
那么在已经拆箱的情况下需要一个方法吗?
除了弗兰克的回答给出了一个很好的历史观点之外,intValue()
在某些情况下仍然需要使用今天。
请注意以下表明您不能将 anInteger
视为 的陷阱int
:
Integer i1 = new Integer(5);
Integer i2 = new Integer(5);
//This would be the way if they were int
System.out.println(i1 == i2); //Returns false
//This is the way for Integers
System.out.println(i1.intValue()==i2.intValue()); //Returns true
System.out.println(i1.equals(i2)); //Returns true
退货
false
true
true