基本数据类型

基本数据类型

基本类型字节位数基本类型默认值包装类包装类默认值常量池对象值比较
byte180ByteNull[-128,127]equals
short2160ShortNull[-128,127]equals
int4320IntegerNull[-128,127]equals
long8640LLongNull[-128,127]equals
float4320fFloatNull未实现常量池
double8640dDoubleNull未实现常量池
char216‘u0000’CharacterNull[0,127]
boolean-1FALSEBooleanNulltrue/false

在这里插入图片描述


自动装箱: 基本数据类型 转化为 包装类

写法1
Integer num = 9;

写法2
Integer num = Integer.valueOf(9);

自动拆箱:包装类 转化为 基本数据类型

Integer num = 9;
num--; 
因为对象不能直接进行运算,类似如上计算时隐含自动拆箱,转化为基本数据类型后才能进行加减乘除

int和Integer有什么区别?

Integer是int的包装类;int是基本数据类型
Integer变量必须实例化后才能使用;int变量不需要;
Integer实际是对象的引用,指向此new的Integer对象;int是直接存储数据值
Integer的默认值是null;int的默认值是0
Integer可用于泛型;int不可以;


基本类型和包装类型有什么区别?

包装类型可以为 null,而基本类型不可以

那为什么 POJO 的属性必须要用包装类型而不用基本类型呢?
《阿里巴巴 Java 开发手册》上有详细的说明, 数据库的查询结果可能是 null,如果使用基本类型的话,因为要自动拆箱,就会抛出 NullPointerException 的异常。

包装类型可用于泛型,而基本类型不可以

泛型使用基本类型时会编译出错。因为泛型在编译时会进行类型擦除,最后只保留原始类型,而原始类型只能是 Object 类及其子类。

基本类型比包装类型更高效

基本类型在中直接存储的具体数值,而包装类型则存储的是堆中的引用。 很显然,相比较于基本类型而言,包装类型需要占用更多的内存空间


Integer和int的比较大小


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值