小编典典

Java中的整数和int有什么区别?

all

例如为什么你可以这样做:

int n = 9;

但不是:

Integer n = 9;

你可以这样做:

Integer.parseInt("1");

但不是:

int.parseInt("1");

阅读 91

收藏
2022-04-27

共1个答案

小编典典

int是原始类型。类型变量int存储您要表示的整数的实际二进制值。int.parseInt("1")没有意义,因为int不是
一个类,因此没有任何方法。

Integer是一个类,与 Java 语言中的任何其他类没有什么不同。类型变量Integer存储对对象的
引用Integer,就像任何其他引用(对象)类型一样。Integer.parseInt("1")parseInt从类调用静态方法Integer(请注意,此方法实际上返回
anint而不是 an Integer)。

更具体地说,Integer是一个类型为单个字段的类int。此类用于需要int像对待任何其他对象一样对待的地方,例如在泛型类型或需要可空性的情况下。

请注意,Java 中的每个原始类型都有一个等效的 包装 类:

  • byte拥有Byte
  • short拥有Short
  • int拥有Integer
  • long拥有Long
  • boolean拥有Boolean
  • char拥有Character
  • float拥有Float
  • double拥有Double

Wrapper 类继承自 Object 类,而原始类则没有。所以它可以用在带有对象引用或泛型的集合中。

从 java 5
开始,我们有了自动装箱,原始类和包装类之间的转换是自动完成的。但是要小心,因为这可能会引入细微的错误和性能问题;明确说明转换永远不会受到伤害。

2022-04-27