包装类
所有的包装类都在 java.lang。
包装类:对我们的基本数据类型进行了增强,增强后,可以以面向对的思维进行操作
每个基本数据类型都有一个包装类
包装类的好处:
1,使用包装来 可以去表示一些不存在的数据
2,包装类当中自带了一些功能(已经给你写好了,可以直接使用的功能)
装箱操作:把基本数据类型 变成 包装类
Integer num = new Integer( value:10);//不推荐使用(已经过时了)
//包装类打印 直接打印的是它的值(普通类创建之后,打印的是它的地址)
Integer num = Integer.valueOf(20); //推荐使用
自动装箱:可以直接把一个基本数据类型 赋值给包装类对象。
Integer i = 20;//自动装箱
拆箱操作:把包装类对象 转成对应的 基本数据类型 我们称为拆箱。
int num1 = num.intValue();
自动拆箱操作:可以直接把一个基本数据类型 赋值给包装类对象。
integer i = 1;//自动拆箱
int i2= i; //自动拆箱
字符串与基本数据和包装类型转换:共5种
1 //字符串 和 包装类型 转换
//把字符串转成数字 当中不能有字母
Integer i =new Integer("12");
System.out.println(i);
2//把包装类对象 转成 字符串
//Integer i2= Integer.valueOf(100);
Integer i2= 1000;
String str = i2.toString();
System.out.println(str);
3//把基本数据类型 转成 字符串 可以直接在后面+""
int a = 10;
String str1 = a+"";//任何数据类型与字符串相加 都等于字符串
System.out.println(str1);
4 //把字符串 转成 基本数据类型
String str3 = "200";
int i1 = Integer.parseInt(str3);
System.out.println(i1);
5 //字符串转boolean
boolean b = new Boolean("true ");//字符串给的是true 结果是true 其它的字符串都是false
System.out.println(b );// true
包装类型valueof缓存设计
当使用valueof创建一个包装类,它内部的实现会先从缓存当中查看是否已经有该存在匹配条件的值,如果就直接返回,不会再去创建新的地址。如果没有,就去创建新的地址。
缓存的大小 -128 到正的127。
//比较的是地址 每个new 都会创建一个新的地址
Integer i = new Integer (100);
Integer i2 = new Integer (100);
System.out.println(i==i2);//false
//包装类当中缓存设计 在-128~127之间
Integer i3 = Integer.valueof(123);
Integer i4 = Integer.valueof(123);
System.out.println(i3==i4);//true
//range -128 to 127
//缓存的范围只有-128到127 超过这个范围就不会使用缓存,直接创建新的地址
Integer i5 = Integer.valueof(123);
Integer i6 = Integer.valueof(123);
System.out.println(i5==i6);//false

浙公网安备 33010602011771号