45.八大wrapper类
基本数据类型 包装类
boolean Boolean
char Character
byte Byte
short Short
int Integer 这6个包装类的父类是Number
long Long
float Float
double Double
46.装箱和拆箱
装箱:基本类型->包装类型 拆箱:包装类型->基本类型
自动装箱调用的是valueOf方法
public class HelloJava { public static void main(String[] args) { //演示int-->Intever的装箱和拆箱 //jdk5前是手动装箱 //手动装箱 int n1 = 100; Integer integer = new Integer(n1); Integer integer1 = Integer.valueOf(n1); //手动拆箱 int i = integer.intValue(); //jdk5以后,就可以自动装箱和拆箱 //自动装箱 int n2 = 200; Integer integer2 = n2; //底层使用的是Integer.valueOf(n2) //自动拆箱 int n3 = integer2;//底层仍然是intValue()方法 } }
47.包装类方法
以Integer转String为例
public class HelloJava { public static void main(String[] args) { //包装类->String Integer i = 100;//自动装箱 //方式1 String str1 = i + ""; //方式2 String str2 = i.toString(); //方式3 String str3 = String.valueOf(i); //String ->包装类 //方式1 String str4 = "12345"; Integer i2 = Integer.parseInt(str4);//自动装箱 //方式2 Integer i3 = new Integer(str4); } }
包装类常用方法
48.Integer创建机制
//源码: public static Integer valueOf(int i){ if(i >= IntegerCache.low && i <= IntegerCache.high) return InegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); } //其范围-128~127 在范围内就是直接返回,反之new Integer(xx)