目录
前言
基本类型没有对象的属性,但是java是面向对象的,所以有了包装类来赋予基本类型对象的属性,是为了让基本数据类型的数据能作为参数
一、八大基本类型的包装类
byte–>
Byte,short–>Short,int–>Integer,long–>Long,float–>Float,
double–>Double,boolean–>Boolean,char–>Character,
int
和char写法有些不同,其他的都是首字母大写。
二、自动拆装箱
在JDK1.5之后,就已经支持自动拆装箱了
自动装箱:基本数据类型
–>
引用数据类型 Integer a = 1000;
自动拆箱:引用数据类型
–>
基本数据类型 int y = a;
下面输出的是true还是false
//自动装箱int
–>
Integer
Integer a = 1000;
Integer b = 1000;
System.out.println(a == b);//false,这两个的内存地址是不相同的
Integer x = 127;
Integer y = 127;
System.out.println(x == y);//true,这两个的地址是相同的
总结:java中为了提高程序的执行效率,将[-128~127]之间的包装对象提前创建好了,放在了方法区的“整数常量池”中,只要在这个区间的数据就不需要new对象(new的对象是放在堆里面的),直接从“整数常量池”中取出来
三、
基本数据类型和包装类之间的转换
int
–>
Integer
Integer a = 123;//自动装箱
Integer a = Integer.valueOf(123);//使用valueOf(int i)方法
Integer
–>
int
Integer a = 123;
int x = a;//自动拆箱
int y= a.intValue();//使用intValue( )方法