社区
Java SE
帖子详情
求equals重写方法
小白云天
2016-04-10 06:52:23
为什么输出的是true啊,还有,我若是把==改成equals,就会异常。
求解这是怎么回事?
...全文
246
8
打赏
收藏
求equals重写方法
为什么输出的是true啊,还有,我若是把==改成equals,就会异常。 求解这是怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
海风一直眷恋着沙
2016-04-11
打赏
举报
回复
楼上说的很细致,受教了。
LoungerM
2016-04-11
打赏
举报
回复
Star-小东
2016-04-11
打赏
举报
回复
一、为什么是总是true 这个sen类的构造函数的初始化有问题,用super()是用来初始化继承的直接父类(没有显示继承父类默认为Object) 所有这个sen类的构造方法没有初始化本类的name和age字段,导致new的所有sen类的对象的这个两个字段为默认初始化值 即age默认初始化为0 所以恒为true 二、为什么== 换成 equals 异常问题 在这个重写的这个equals函数中继续invoke equals函数相当于递归调用(即自己调用自己),equals函数的参数类型是Object ,而函数的调用后首先做的是将Object对象强制类型转换为Sen对象,而你在用equals时传递的是Integer对象,而Integer对象是无法cast Sen类对象的,所以会抛出类型转化异常。 希望对你有帮助
豫让_______
2016-04-11
打赏
举报
回复
首先,构造函数没有赋值。而且你这个重写的equals只判断了age都没有管name。最后就是建议hashcode一并重写,因为只重写了equals的话用 == 判断还是会先调用hashcode ,而set集合判断重复的时候是用 == 判断。
java叶新东老师
2016-04-11
打赏
举报
回复
看他两个对象是否相等主要比较构造方法的行形参的值,你这个行参输入后没有赋给变量,所以不管你new多少个对象出来,他们一比较都是相等的,只是地址不同而已
kaflash
2016-04-11
打赏
举报
回复
true的原因就是age没有赋值
随风而飞_1
2016-04-10
打赏
举报
回复
因为两个对象的age的值都是0。你的构造函数没有给属性赋值
随风而飞_1
2016-04-10
打赏
举报
回复
this是sen对象,而a.age是int型的数据。
【Java基础】
重写
equals
方法
详讲
这里提供两个比较常见的
equals
重写
方法
: ● 用instanceof实现
重写
equals
方法
● 用getClass实现
重写
equals
方法
先说结论,getClass()比instanceof更安全。接下来就是我们自己要来实现
equals
方法
了。 场景描述 假设...
Java的
方法
equals
重写
3)
方法
equals
中比较的内容应有序、完整。4)应
重写
hashCode
方法
。...java 的
equals
方法
一般情况下需要
重写
,以保证能够比较两个实例对象是否一致,注意
重写
equals
方法
时还要
重写
hashCode
方法
。
java中
equals
的
重写
_Java
重写
equals
方法
(重点讲解)
为什么
equals
()
方法
要
重写
?判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的
equals
方法
只能判断两个引用变量是否是同一个对象。这样我们往往需要
重写
equals
()
方法
。...
重写
equals
()
方法
1.如果想把持久类的实例放入set中(多值关联时,1对多),建议实现
equals
和hashcode2.想重用托管实例时,也要实现
equals
和hashcode3.多个字段组合作为联合主键,必须实现...其中有一些类
重写
了这两个
方法
。例如:O...
如何
重写
equals
方法
重写
equals
方法
我们都知道,如果不对
equals
方法
进行
重写
的话,那么它默认比较的就是两个对象的地址值是否是一样的。但是我们往往需要比较的是对象的内容是否是一样的,除了几个内置
重写
了
equals
方法
的类型,我们写...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章