包装类数据如何判断相等

1-对象数据类型如何判断相等(Integer、Long、Float、Boolean)
对于包装类对象的比较可以统一用equals
可以直接看源码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
直接将数值取出来,进行的比较。
我对等号的理解是,地址。同一个对象他的地址就相同,老师的代码中,用等号进行比较,有时候会是对的的原因是因为,在-127-127这个范围设置了缓存的原因,会取同一个对象,所以相等,如果超出了这个范围就无法相等了。像129就不相等。更直观地可以设置断点,来看一下。
在这里插入图片描述
从上图很容易看出来,当数值不大于127时,如果用过,再次使用的话,会直接拿出来,如果大于127时,会再开辟一个空间,也就是因为常量池的原因。
2-与基本数据类型相比有何区别
初次学习时只是知道因为java是面向对象的思想,然后int类型的数据是面向机器的,很多时候需要用到面向对象,会更方便。查找相关博客,结合所学分析。
1.包装类型可以为null,而基本类型不能为。当数据库查询为空时,需要自动拆箱。(装箱拆箱就是在jdk1.5之前,Integer申明还需要申明,现在默认了)。
阿里开发手册:数据库的查询结果可能是 null,如果使用基本类型的话,因为要自动拆箱(将包装类型转为基本类型,比如说把 Integer 对象转换成 int 值),就会抛出 NullPointerException 的异常。
2.包装类型可用于泛型,而基本类型不可以。
对于泛型的理解不是很深,只有初步的理解,当个参数使用
在这里插入图片描述
3.二者存储的区域也不同,基本类型是在栈中放的,而包装类是在堆中存放,会占用更多的空间,使用基本类型也比较方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值