Java中Integer和int有什么区别?
例如,为什么可以这样做:
int n = 9;
但不是:
Integer n = 9;
你可以执行以下操作:
Integer.parseInt("1");
但不是:
int.parseInt("1");
回答:
int
是原始类型。类型的变量int存储要表示的整数的实际二进制值。int.parseInt("1")
没有意义,因为int它不是类,因此没有任何方法。
Integer
是一个类,与Java语言中的其他类没有什么不同。类型变量Integer
存储对对象的引用Integer
,就像存储任何其他引用(对象)类型一样。Integer.parseInt("1")
是对parseInt
类的静态方法的调用Integer
(请注意,此方法实际上返回an int
而不是an Integer
)。
更具体地说,Integer
是一个具有单个type
字段的类int
。此类用于需要int
与其他任何对象一样对待的地方,例如在通用类型或需要可为空的情况下。
请注意,Java中的每个原始类型都有一个等效的包装器类:
- byte has Byte
- short has Short
- int has Integer
- long has Long
- boolean has Boolean
- char has Character
- float has Float
- double has Double
包装器类从Object类继承,而原始类则没有。因此,它可以用于带有对象引用或泛型的集合中。
从Java 5开始,我们具有自动装箱功能,并且原始类和包装类之间的转换是自动完成的。但是要当心,因为这可能会引起细微的错误和性能问题;明确表示转化永远不会受到伤害。
以上是 Java中Integer和int有什么区别? 的全部内容, 来源链接: utcz.com/qa/408053.html