1、包装类型可以为 null,而基本类型不可以
它使得包装类型可以应用于 POJO 中,而基本类型则不行。
《阿里巴巴 Java 开发手册》上有详细的说明
数据库的查询结果可能是 null,如果使用基本类型的话,因为要自动拆箱(将包装类型转为基本类型,比如说把 Integer 对象转换成 int 值),就会抛出 NullPointerException 的异常。
2、包装类型可用于泛型,而基本类型不可以
编译时会报错
3、基本类型比包装类型更高效
因为包装类型是对象,存在堆中,基本类型直接从栈中取值
4、自动装箱和自动拆箱
把基本类型转换成包装类型叫做装箱(boxing),反之叫拆箱(unboxing)
自动装箱是通过Integer.valueOf()
完成的,自动拆箱是通过intValue()
完成的
网友评论