Skip to content

[!quote] 基本类型包装类

基本类型包装类 是将基本数据类型封装成对象,这样可以在对象中定义更多功能

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

对比

  • 基本类型可以用 == 来比较内容,包装类不行
  • 基本类型是数值,没有 null

Integer

  • Integer.valueOf(值) 创建 Integer 对象
  • Integer对象.intValue() 将 Integer 对象转为 int
  • Integer.parse(值) 将其他类型转为 int

java
Integer i = Integer.valueOf(100);
System.out.println(i);

Integer i2 = Integer.valueOf("100");
System.out.println(i2);

---
100
100

[!hint] 可以使用 valueOf() 来实现 String 和 int 之间的相互转换

java
// int 转 String
int a = 23;
String s = String.valueOf(a);
java
// String 转 Integer 再转 int
String s = "10";
int i = Integer.parseInt(s);

装箱,拆箱

[!quote] 装箱,拆箱

  • 装箱:把基本数据类型转换为对应的包装类
  • 拆箱:把包装类转换为对应的基本数据类型
java
// 装箱
Integer i = Integer.valueOf(100);
// 拆箱
i = i.intValue() + 200;

[!quote] 自动装箱,自动拆箱

java
// 自动装箱
Integer i = 100;
// 自动拆箱
i = i + 200;

缓存机制

[!quote] 缓存机制 范围在 -128127 之间的整数在自动装箱时会被缓存起来

java
public static void main(String[] args) {
    Integer a = 129;
    Integer b = 129;
    Integer c = 100;
    Integer d = 100;
    System.out.println(a == b);
    System.out.println(c == d);
}

---
false
true