是关于 hashmap中的equals方法
答案:3 悬赏:20 手机版
解决时间 2021-04-28 21:11
- 提问者网友:人傍凄凉立暮秋
- 2021-04-28 05:27
是关于 hashmap中的equals方法
最佳答案
- 五星知识达人网友:怙棘
- 2021-04-28 06:43
不是hashcode造成,就是equals方法造成的。
public boolean equals(Object otherObject)
{
if (this == otherObject) return true;
if (otherObject == null) return false;
if (getClass() != otherObject.getClass()) return false;
LCContSchema other = (LCContSchema)otherObject;
return
GrpContNo.equals(other.getGrpContNo())
&& ContNo.equals(other.getContNo())
&& ProposalContNo.equals(other.getProposalContNo())
如果此时GrpContNo、ContNo和ProposalContNo有一个为null那么就会报空指针。
你可以遍历一下tmpMap的所有key,然后分别打印出他们的这3个属性,看看key中有没有这3个属性为null的。
public boolean equals(Object otherObject)
{
if (this == otherObject) return true;
if (otherObject == null) return false;
if (getClass() != otherObject.getClass()) return false;
LCContSchema other = (LCContSchema)otherObject;
return
GrpContNo.equals(other.getGrpContNo())
&& ContNo.equals(other.getContNo())
&& ProposalContNo.equals(other.getProposalContNo())
如果此时GrpContNo、ContNo和ProposalContNo有一个为null那么就会报空指针。
你可以遍历一下tmpMap的所有key,然后分别打印出他们的这3个属性,看看key中有没有这3个属性为null的。
全部回答
- 1楼网友:动情书生
- 2021-04-28 08:11
equals方法不正确。
- 2楼网友:舊物识亽
- 2021-04-28 08:00
代码不完整、类型不清楚,判断不了问题
if (this == otherObject) return true; —— 错误的判断
if (otherObject == null) return false; ——应该在最前面判断
if (getClass() != otherObject.getClass()) return false; ——错误的判断
if (this == otherObject) return true; —— 错误的判断
if (otherObject == null) return false; ——应该在最前面判断
if (getClass() != otherObject.getClass()) return false; ——错误的判断
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯