包装类
1.什么是包装类
-
基本数据类型所对应的引用数据类型 java.lang
-
基本数据类型 包装类 int Integer char Character short Short long Long float Float double Double boolean Boolean byte Byte -
Object统一所有数据类型,对应包装类为null
-
基本类型数据放在栈里面,堆里面放的是对象
2.类型转换与装箱、拆箱
-
基本类型——>引用类型(对象): 装箱
-
引用类型(对象)——>基本类型:拆箱
-
jdk1.5之前:构造方法;valueof;intValue;
-
jdk1.5之后,提供自动装箱和拆箱
-
package CommonClass.baozhuanglei; public class Test { public static void main(String[] args) { // jdk1.5之前 int age = 100; // 基本数据类型 // 装箱:基本数据类型 ——> 引用类型 Integer integer1 = Integer.valueOf(age); //Integer integer2 = new Integer(age); // 构造器 // 拆箱:引用类型 ——> 基本数据类型 int i = integer1.intValue(); // jdk 1.5之后:自动装箱,拆箱 int a = 78; Integer integer3 = a; int b = integer1; System.out.println("integer3:"+integer3); System.out.println("b:"+b); } }
8种包装类提供不同类型间的转换方式:
- Number父类中提供的6个共性方法。
- parseXXX()静态方法
3.应用
package CommonClass.baozhuanglei;
public class Main {
public static void main(String[] args) {
// 基本类型的转换
// 基本类型和字符串之间的转换
System.out.println("======基本类型和字符串之间的转换======");
int age = 100;
// 1.1 使用+“”
String s1 = age+"";
// 1.2 使用Interger.toString()方法
String s2 = Integer.toString(age);
System.out.println(s1+"\t"+s2);
// 1.3 进制转换
System.out.println("======进制转换======");
int num = 15;
s1 = Integer.toString(num,16);
System.out.println(num+"转16进制为: "+s1);
num = Integer.valueOf(s2,10);
System.out.println(s2+"转化为10进制"+num);
// 1.4 字符串转化为基本类型
System.out.println("======字符串转化为基本类型======");
String s3="110";
num = Integer.parseInt(s3,10);
System.out.println(s3+"字符串转化为基本类型"+num);
}
}
结果:
======基本类型和字符串之间的转换======
100 100
======进制转换======
15转16进制为: f
100转化为10进制100
======字符串转化为基本类型======
110字符串转化为基本类型110
4.有关整数缓冲区的问题
为了能够在遇到问题直接搜索到,这里把它写到另一篇文章中:
整数缓冲区问题