为了账号安全,请及时绑定邮箱和手机立即绑定

为什么感觉collection 离奇丢失了一个元素?

为什么感觉collection 离奇丢失了一个元素?

慕姐8265434 2023-03-31 14:10:02
我往前台传送 collection,是 25 个元素,看了前台发现后发现只有 24 个元素。然后,我 debug 后台,发现 collection 有离奇的问题,第二个元素 ACCESS,点击 users 没有,所以是 24 个,点 elements 有,就是 25 个。我看了看 ACCESS,发现它的 hash 是零,会不会和它的 hash 有关系,请大侠们帮我看看怎么回事?见图,你就明白了
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

嗯,hashcode区分大小写 

ACCESS    hashcode:1924835684
access    hashcode:-1423461020 


public void printHashCodeWrapper() {
		printHashCode("ACCESS");
		printHashCode("access");
	}
	public void printHashCode(String p_msg) {
		System.out.println(p_msg + "\thashcode:" + p_msg.hashCode());
	}

修改equals()方法时,也需要修改hashcode()方法。hashcode()方法会用在hashSet,hashMap集合中。hashcode()是用数字代表一个类。 


查看完整回答
反对 回复 2023-04-03
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

大写的ACCESS和小写的access都是有hash值的,就是在userCollection类处理后,大写的ACCESS的hash值为零了,看来是第三方插件处理的问题。

查看完整回答
反对 回复 2023-04-03
  • 2 回答
  • 0 关注
  • 224 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信