gpt4 book ai didi

java - 可扩展类的哈希码(面向 future )

转载 作者:行者123 更新时间:2023-12-01 06:31:07 27 4
gpt4 key购买 nike

由于我在数学方面没有任何出色的技能,所以我问您是否存在我应该在未来可能会改变的类(class)中使用的算法。

考虑以下场景:

“角色”类具有以下字段:

private boolean admin;
private boolean printer;

几周后,我决定添加一个角色“ guest ”:

private boolean admin;
private boolean printer;
private boolean guest;

几周后,我决定删除“打印机”角色;

private boolean admin;
private boolean guest;

由于我会将哈希码保存在数据库中,因此我必须 100% 确定此类的所有版本都会生成唯一的哈希码。

也许这不是问题,我一直使用Eclispe IDE源代码生成器中提供的。

您能否告诉我使用 Eclipse IDE (Indigo) Java 版本 >= 6 方法是否安全,或者给我一些有关此主题的其他建议。我确信这是一件很常见的事情。

提前致谢

最佳答案

Since I will persist the hashcode in a database

不要那样做。 hashCode 的结果并不意味着被持久化。特别是,来自文档:

This integer need not remain consistent from one execution of an application to another execution of the same application.

下一个:

I must be 100% sure that all versions of this class generates unique hashcodes.

哈希码也不意味着是唯一的......它们通常不会。好吧,在你的例子中你只有 5 位数据,但一般情况并非如此......

听起来您对 Object.hashCode() 的要求与正常要求不同 - 因此您不应期望任何自动生成的实现了解您的特殊要求。我建议您准确说明您的要求,我们可以制定出该怎么做...

关于java - 可扩展类的哈希码(面向 future ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11801733/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com