两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hash code ,这句话对不对?并简要说明理由。
答 对 。
如 果 对 象 要 保 存 在 HashSet 或 HashMap 中 , 它 们 的 equals 相 等 , 那 么 , 它 们 的 hashcode 值 就 必 须 相 等 。如果不是要保存在 HashSet 或 HashMap ,则与 hashcode没有什么关系了, 这时候 hashcode不等是可以的, 例如 arrayList 存储的对 象 就 不 用 实 现 hashcode , 当 然 , 我 们 没 有 理 由 不 实 现 , 通 常 都 会 去 实 现 的 。 对 。如 果 对 象 要 保 存 在 HashSet 或 HashMap 中 , 它 们 的 equals 相 等 , 那 么 , 它 们 的 hashcode 值 就 必 须 相 等 。如果不是要保存HashSet 或 HashMap ,则与 hashcode没有什么关系了, 这时候 hashcode不等是可以的, 例如 arrayList 存储的对象就不用实现 hashcode,当然,我们没有理由不实现,通常都会去实现的 。
暂无解析
FIDIC施工合同条件规定,对已达到基本竣工的工程,由于非承包商原因影响不能进行竣工试验,工程师应确定为()。
某工程设计合同,双方约定设计费为10万元,定金为2万元。当设计人完成设计工作30%时,发包人由于该工程停建要求解除合同。此时发包人应进一步支付设计人()。