byte—-Byte
short—-Short
int—-Integer
long—-Long
float—-Float
double—-Double
char—-Character
boolean—-Boolean
包装类若未赋值 则默认值是null
且包装类都重写了equals方法 都是先比较类型 若类型相同再比较内容
1 八个包装类都在同一个包下 java.lang包 不需要import导包 可以直接使用
2 八个包装类中有六个是与数字有关(前六个) 都继承父类Number
3 八个包装类都实现了接口Serializable Comparable
4 八个包装类中都有带自己对应参数的构造方法
Character包装类只有一个构造方法 即char类型的
其余包装类还有带String类型的
Float还有带Double类型的
5 创建对象 对象调用方法
有六个与数字相关的类都继承Number
xxxValue(); 这个方法是将包装类类型转换为对应的基本类型(拆包)
如
Integer i1 = new Integer(10);//创建Integer对象
int value = i1.intValue(i1);
6 每个包装类都有valueOf()方法 可以将基本类型转换为相应的包装类
Character类valueOf()方法只有char类型的参数
剩余的七个类的valueOf()方法都有方法重载 带自身基本类型的以及String类型的
如 Integer i = Integer.valueOf(1);
或 Integer i = Integer.valueOf(“2”);
但是在JDK1.5版本后出现了自动拆装包 valueOf()基本用不上了
即 Integer i = 10;//自动包装成包装类
或 int value = new Integer(10);//自动拆装
注意装箱只能在对应的数据类型下才可以发生
即基本数据类型装箱 不提供自动向上转型
如 Double d = 3; 会出现编译时异常 3为int类型 无法包装成Double类型
int value = Integer.parseInt(“123”);//这个方法是将String类型的字符串直接转换成int类型
int value = new Integer(“123”);//这个方法是先将String构建成一个Integer对象 然后再通过自动拆包的方式拆成int