Java中基础类型转为封装类的简介说明
转自:
http://www.java265.com/JavaCourse/202204/3160.html
下文笔者讲述Java中基础类型转封装类的简介说明,如下所示:
boolean—>Boolean int—>Integer double—>Double float—>Float char---->Character short—>Short long—>Long byte—>Byte
自动装箱:将基本数据类型转换成封装类,编译调用valueOf 手动装箱:调用Integer.valueOf(1) 自动拆箱:把封装类转换成基本数据类型,编译调用XXXValue()
例:
Integer i = Integer.valueOf(1); int x = i;//自动拆箱,int x = i.intValue();手动拆箱
自动装箱的缓存问题 超出缓存范围[-128,127] 从堆内存中new一个新的对象返回 Integer缓存范围可以设置(java.lang.Integer.IntegerCache.high=10000) ------------------------------------------------------------------------------ Boolean:两个缓存值TRUE,FALSE Byte占1个字节:[-128,127],因为范围不大,所以全部256个值都是缓存的 Short,Long缓存范围是[-128,127],而且不可更改 也无法通过extends方式扩展,因为这两个类是final的 Float,Double没有缓存,每次valueOf(1.0)都是返回一个堆中的新对象 封装类可判断是否为空