【笔记】Java的包装类

前言

Java对于8个基本类型分别定义类对应的包装类,包装类的出现是为了解决基本类型不能参与面向对象开发的问题

基本类型对应的包装类

基本类型 对应的包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

基本类型转换为包装类

通过自动装箱

1
2
int num = 1;
Integer numInteger = num;

通过静态方法

1
Integer numInteger = Integer.valueOf(1);

包装类转换为基本类型

通过自动拆箱

  • 只有Integer可以自动拆箱
  • 循环中不要使用包装类,因为会频繁自动拆箱
1
2
Integer numInteger = Integer.valueOf(1);
int num = numInteger;

通过xxxValue()方法

1
2
Integer numInteger = Integer.valueOf(1);
int num = numInteger.intValue();

类方法

获取最大值和最小值

获取最大值

1
int num = Integer.MAX_VALUE

获取最小值

1
int num = Integer.MIN_VALUE

字符串转换为基本类型

1
int num = Integer.parseInt("1");

比较大小

1
2
3
4
int num1 = Integer.valueOf(1);
int num2 = Integer.valueOf(1);

System.out.println(Integer.compare(num1, num2)); // 0

实例方法

比较大小

1
2
3
4
int num1 = Integer.valueOf(1);
int num2 = Integer.valueOf(1);

System.out.println(num1.compareTo(num2)); // 0

包装类的缓存机制

  • 范围为[-128,127]的1字节的数据定义为包装类时是以静态常量缓存的
1
2
3
System.out.println(Integer.valueOf(127) == Integer.valueOf(127)); // true
System.out.println(Integer.valueOf(127) == Integer.parseInt("127")); // true
System.out.println(Integer.valueOf(128) == Integer.valueOf(128)); // false

完成

参考文献

哔哩哔哩——青空の霞光