JAVA 包装类

203 阅读1分钟

  为了使基础类型拥有对象的特性,于是便有了包装类。 基本类型转换成对应的包装类型的过程称为装箱;包装类型转换成对应的基本类型的过程称为拆箱。

Integer test = 123; //等同于 Integer test = new Integer(123);   
int a = test;//等同于 int a = test.intValue();

触发自动装箱的情况:

  1. 将基本类型赋值给包装类对象;

触发自动拆箱的情况:

  1. 将包装类对象赋值给基本类型;
  2. 对包装类对象进行算术运算符、位运算符和位移运算符“+, ++, --, -, *, /, %, &, |, ^, ~, <<, >>, >>>”操作时;
  3. 对包装类对象进行关系运算符">, <, >=, <="操作时;
  4. 包装类对象与基本类型进行"==, !="操作时;

需要注意的几点:

  1. 当Integer 取值为-128~127时,拆箱时仍然是当做基本数据类型处理;
Integer a = 123;
Integer b = 123;
a == b;//true

Integer a = 456;
Integer b = 456;
a == b;//false
  1. 包装类对象为null时,拆箱将报错;
Integer a = null;
a != 1;//空指针异常