包装类
概述
基本数据类型使用方便,但是没有对应的方法来使用这些数据,因此我们可以使用一个类,把基本数据类型包装起来,这个类就叫做“包装类”。在包装类中可以定义一些基本的方法,来操作基本类型的数据。
基本数据类型 | 对应的包装类(java.lang包) |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
针对八种基本数据类型定义相应的引用类型——包装类(封装类)
装箱与拆箱
装箱:从基本类型转换为包装类对象
拆箱:从包装类对象转换为对应的基本类型
装箱
格式 : 包装类 变量名=new 包装类(数据);
//装箱
Integer a3=new Integer(8);//使用构造函数
Integer a4=Integer.valueOf(8);
构造方法:
Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。
Integer(String s) 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
传递的字符串,必须是基本类型的字符串,否则会抛出异常 "100" 正确 "a" 抛异常
静态方法:
static Integer valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s) 返回保存指定的 String 的值的 Integer 对象。
拆箱
成员方法:
int intValue() 以 int 类型返回该 Integer 的值。
int a5=a3.intValue();
自动装箱和拆箱
概念:基本类型的数据和包装类之间可以自动的相互转换
自动装箱: 直接把int类型的整数赋值包装类
Integer in = 1; 就相当于 Integer in = new Integer(1);
自动拆箱: in是包装类,无法直接参与运算,可以自动转换为基本数据类型,在进行计算
in+2;就相当于 in.intVale() + 2 = 3
in = in.intVale() + 2 = 3 又是一个自动装箱
//---自动装箱
Integer a6=a1;
//----自动拆箱
int a7=a3;
基本类型与字符串类型之间的相互转换
//4.---基本数据类型与字符串之间转换
//基本数据类型自动转换为字符串类型 123 “123” “abc” 异常
System.out.println(1+"2");
System.out.println(1+2+"3");
System.out.println("-----------");
//字符串手动转换为基本数据类型
int n=Integer.parseInt("123");
double d=Double.parseDouble("3.14");
System.out.println(n);
System.out.println(d);
System.out.println("----------------");
int n1=Integer.parseInt("8D3FEA",16);
System.out.println(n1);