自动拆装箱

217 阅读1分钟

自动拆装箱

  • 前面有介绍过八种基本类型,这八种基本类型在java中都有他们对应的包装类型,分别是Byte,Short,Character,Integer,Long,Float,Double,Boolean。
  • 拆装箱的意思就是基本类型和包装类型的相互转换,从包装类型转成基本类型称之为拆箱,反之。
  • jdk1.5之前还是要手动转的,之后就是自动拆装箱了。

Integer的缓存机制

该类的作用是将数值等于-128-127(默认)区间的Integer实例缓存到cache数组中。通过valueOf()方法很明显发现,当再次创建值在-128-127区间的Integer实例时,会复用缓存中的实例,也就是直接指向缓存中的Integer实例。 除了Integer可以指定缓存范围,其它类都不行。Integer的缓存上界high可以通过jvm参数-XX:AutoBoxCacheMax=size指定,取指定值与127的最大值并且不超过Integer表示范围,而下界low不能指定,只能为-128。 (注意:这里的创建不包括用new创建,new创建对象不会复用缓存实例)