【Java基础(十)】包装类

概念

将基本数据类型进行封装,增加点属性,方法,构造器,产生一个新类,即包装类。
从JDK1.0即开始支持。

基本数据类型与包装类对应关系

基本数据类型 包装类 继承关系
byte Byte -> Number -> Object
short Short -> Number -> Object
int Integer -> Number -> Object
long Long -> Number -> Object
float Float -> Number -> Object
double Double -> Number -> Object
char Character -> Object
boolean Boolean -> Object

为什么要使用包装类

  1. 因为Java是面向对象的语言,擅长操作各种类
  2. 数组可以装基本类型的数据,但是集合只能装引用类型数据

自动装箱与自动拆箱

从JDK1.5以后新出的特性,指将基本数据类型和包装类进行快速的自动数据类型转换

自动装箱

// 自动装箱: int -> Integer
Integer i = 12;

自动拆箱

// 自动拆箱:Integer -> int
Integer i = new Integer(99)
int number = i;

使用包装类,以Integer举例

equals

Integer对Object中的equals方法进行了重写,比较的是底层封装的value值。

==

当Integer的Value值在-128-127之间,自动装箱时返回的是数值,否则返回的是包装类对象。
那么比较的时候,如果在-128-127之间,是比较数字值,否则是比较两个对象的地址值。

你可能感兴趣的:(Java,java,jvm,开发语言)