Java的基本类型包装类中有6中实现了常量池技术:
Byte , Short,Integer,Long ,Characher ,Boolean。另外两种浮点数类型Double和Float没有实现该技术。
六种实现常量池技术的包装类中Byte,Short,Integer,Long,Character这5种整型的包装类也只是在[-128,127)之间才可使用常量池,不负责创建和管理[-128,127)之外的类的对象。
首先需要了解"=="的作用:
1)若==左右两侧都是基本类型,比较的是值的大小;
2)若==左右两侧有一个是包装类,则将包装类转换为基本类型后比较值的大小;
3)若==左右两侧都是包装类型,则比较的是左右两个对象的地址。
下列代码能够很好地让人理解上述理论: