两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hash code ,这句话对不对?并简要说明理由。
查看答案
纠错
若遇到问题请联系 客服QQ:3480655671
正确答案:
答 对 。
如 果 对 象 要 保 存 在 HashSet 或 HashMap 中 , 它 们 的 equals 相 等 , 那 么 , 它 们 的 hashcode 值 就 必 须 相 等 。如果不是要保存在 HashSet 或 HashMap ,则与 hashcode没有什么关系了, 这时候 hashcode不等是可以的, 例如 arrayList 存储的对 象 就 不 用 实 现 hashcode , 当 然 , 我 们 没 有 理 由 不 实 现 , 通 常 都 会 去 实 现 的 。 对 。如 果 对 象 要 保 存 在 HashSet 或 HashMap 中 , 它 们 的 equals 相 等 , 那 么 , 它 们 的 hashcode 值 就 必 须 相 等 。如果不是要保存HashSet 或 HashMap ,则与 hashcode没有什么关系了, 这时候 hashcode不等是可以的, 例如 arrayList 存储的对象就不用实现 hashcode,当然,我们没有理由不实现,通常都会去实现的 。
本题解析: 暂无解析
包含此试题的试卷
你可能感兴趣的试题
给定一个 JSP程序源代码,如下: 在two.jsp 中使用( )代码片段可以输出参数 location 的值。
- A.
- B.
- C.
<%=request.getAttribute("location")%> - D.
<%=request.getParameter("location")%>
置顶