老师,麻烦看一下

老师,麻烦看一下


http://img1.sycdn.imooc.com//climg/60ae0c6508c7499217390755.jpg
1,我用ide为什么hashcode是这个样子?这个样子没起作用。
2,equals第二个if o=null,是set集合中可以存在null值,但是只能一个,但是这样写感觉能放入多个,还有就是反射得到的对象是数值吗?为什么用==了,

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2021-05-26 18:33:09

同学你好,1、同学在idea中选择Intrllij Default,再重写hashcode()方法试一下。

http://img1.sycdn.imooc.com//climg/60ae23790937750504720234.jpg

2、1)o==null,是判断传递过来的对象o是否为null,因null调用属性与方法会报空指针异常,所以先进行了检查。如果为null则返回false。

2)反射获取的是对象,可以输出对象地址。

3)==是用于判断,如:A==B是判断A是否与B相等。而=是赋值,如:A=B,是将B赋值给A。所以此时使用==。

祝学习愉快!

  • 提问者 慕楠枫桥 #1

    老师,返回false时就是能插入一个新的对象,如果他等于null那就是能插入一个null对象,后面再有null值的话不报错,但是插入失败,对吗老师?

    2021-05-26 18:50:27
  • 好帮手慕小尤 回复 提问者 慕楠枫桥 #2

    同学你好,是的,同学理解是正确的。

    祝学习愉快!

    2021-05-26 19:06:52
  • 提问者 慕楠枫桥 回复 好帮手慕小尤 #3

    老师,能稍微说下hashcode代码是什么意思吗?

    2021-05-26 19:19:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师