上图显示了我试图从哈希表中检索的手机密钥。它返回null,因为哈希表确实有该键,如下图所示。
为什么哈希表在有密钥时返回null。请帮助我坚持下去。
答案 0 :(得分:3)
您需要查看PhoneNum类的.equals()方法。哈希使用equals()
来确定密钥是否等于get()
中的参数。请注意,如果您为equals()
编写PhoneNum
,则还需要编写一个PROPER hashcode()
,因此这不仅仅是编写equals的问题。查找equals和hashcode,以便您知道自己在做什么。