day26八种基本数据类型对应的包装类
一、包装类存在有什么用?
1、方便编程。
2、Java.lang下
二、八种包装类的类名是什么?
1、Byte java.lang.Byte(父类Number)
2、Short java.lang.Short(父类Number)
3、Integer java.lang.Integer(父类Number)
4、Long java.lang.Long(父类Number)
5、Float java.lang.Float(父类Number)
6、Double java.lang.Double(父类Number)
7、Boolean java.lang.Boolean(父类Object)
8、Character java.lang.Character(父类Object)
三、装箱与拆箱
1、装箱:基本数据类型 -(转换为)->引用数据类型(装箱)
例子:
//第一种
Integer i1=new Integer(101);
System.out.println(i1.toString());
//第二种
int i2=Integer.valueOf(100);
System.out.println(i2);
2、拆箱:将引用数据类型–(转换为)-> 基本数据类型(拆箱)
int i3=i1.intValue();
System.out.println(i3);
3、以后常用的是自动拆箱与自动装箱
Integer i1=100;
int i3=i1;
1、自动装箱:基本数据类型自动转换成包装类。
2、自动拆箱:包装类自动转换成基本数据类型。
3、+,-,*,/会自动触发拆箱与装箱,==不会触发。
4、java中为了提高程序的执行效率,将[-128到127]之间所有的包装对象提前创建好,放到了一个方法区的“整数型常量池”当中了,目的是只要用这个区间的数据不需要再new了,直接从整数型常量池当中取出来。
Integer i4=100;
Integer i5=100;
System.out.println(i4==i5);//true在常量池中的地址是一样的
Integer i6=200;
Integer i7=200;
System.out.println(i6==i7);//false常量池中不存在,所以地址不一样
System.out.println(i4.equals(i5));//true
四、Integer
1、构造方法
Integer(int)
Integer i1=new Integer(100);
Integer(String)
Double i3=new Double(3.14);
2、通过访问包装类的常量,来获取最大值和最小值
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
3、parseInt
Integer.parseInt(“123”)
Integer.parseInt(“中文”) : NumberFormatException
4、Integer.valueOf()
五、String int Integer之间互相转换
//1、string-》int
int i1=Integer.parseInt("123");
System.out.println(i1);
//2、int->string
String i2=123+"";
System.out.println(i2);
//3、int->Integet
Integer i3=100;
System.out.println(i3);
//4、Integet-》int
int i4=i3;
System.out.println(i4);
//5、string-》Integet
int i5=Integer.valueOf("12345");
System.out.println(i5);
//6、Integet->string
String i6=String.valueOf(100);
System.out.println(i6);