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