前言
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));
|
实例方法
比较大小
1 2 3 4
| int num1 = Integer.valueOf(1); int num2 = Integer.valueOf(1);
System.out.println(num1.compareTo(num2));
|
包装类的缓存机制
- 范围为[-128,127]的1字节的数据定义为包装类时是以静态常量缓存的
1 2 3
| System.out.println(Integer.valueOf(127) == Integer.valueOf(127)); System.out.println(Integer.valueOf(127) == Integer.parseInt("127")); System.out.println(Integer.valueOf(128) == Integer.valueOf(128));
|
完成
参考文献
哔哩哔哩——青空の霞光