本文实例讲述了Java包装类原理与用法。分享给大家供大家参考,具体如下:
产生:
为了提高数据类型的的面向对象性,所以产生了包装类,包装类中有各种便利的方法
数据类型对应的包装类
使用:
包装类可以实现将基本类型转换成字符串(或者字符串转换成基本类型):
1.包装类中方法parseXXX
2.构造器
3.对于String,使用String中的valueof能将基本数据类型转换成字符串
包装类的实例可以与基本数据类型比较:
直接把实例中包装的数值拿出来比较
当如果是包装类实例的比较的话,比较的是所指向的对象:
使用注意:
使用自动装箱赋值时会出现下列情况:
原因是Integer的源码设计对于-128到127的数值进行了静态处理,所以对于-128到127的Integer都是指向同一个数组中的元素,而对于不是这个范围的就新创建Integer实例。这是java中一种缓存的使用。
版本区别:
JDK版本中的区别:
在1.5以前,把基本数据类型转换成对应的包装类需要通过相应的构造器来实现,八种类型中除了Character之外都可以传入一个字符串参数来构造对象。
在JDK1.5之后,提供了自动装箱和自动拆箱功能,自动装箱就是可以直接把一个基本类型赋给相应的包装类
自动拆箱就是可以直接把一个包装类赋给相应的基本类型,如果是Object则需要转型(装箱--向上,拆箱--向下)
jdk1.7增强了包装类的功能,为所有的包装类提供了一个静态的compare方法,可以使用compare方法来比较两个基本类型值的大小
另外jdk1.8也增加了很多实用的方法,如需详情了解请查询API文档。