【问题标题】:make Eclipse equals() / hashCode() use getters让 Eclipse equals() / hashCode() 使用 getter
【发布时间】:2010-10-22 14:46:55
【问题描述】:

是否可以让默认的 Eclipse “生成 hashCode() 和 equals()” 使用 getter 而不是字段引用? - IE。我可以得到它使用的模板吗?

我正在使用 Hibernate,代理对象仅在使用 getter 时才被延迟加载,而不是来自字段引用。不断改变它很烦人。

显而易见的解决方法是自己创建一个模板或编写一个插件——这感觉有点矫枉过正。

编辑:看起来这些是不可配置的。我将向 JBoss 工具组提出这个问题(他们为 Hibernate 制作了一些插件)。

【问题讨论】:

  • 我在我的 Eclipse 中没有看到那个选项(检查了 Refactor 菜单)...它在哪里?
  • Eclipse 3.4 它在 Source 菜单下。

标签: java eclipse hibernate


【解决方案1】:

我使用plugin 生成hashCode()equals()apache commons lang

【讨论】:

  • 链接谷歌搜索不是很有用。现在的结果可能与 5 年前大不相同。你有你使用的特定插件的链接吗?
【解决方案2】:

这不是解决方案,而是解决方法 - 但您可以尝试生成 equals(),然后使用“封装字段”重构来替换所有字段访问以使用 getter/setter(它也适用于类内部)。

【讨论】:

  • 这行得通!谢谢。它会更改对类中字段的所有访问权限,但会以合理的方式进行。此外,您必须单独完成每个字段。不过比任何其他当前解决方案都要好。
【解决方案3】:

【讨论】:

  • 那篇文章让我首先开始使用它。陷阱 #1 的建议是使用 getter。
猜你喜欢
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多