6

是否有人知道使用本文中描述的技术(注释和类工作)为标准 java 类自动生成标准 Object 方法 toString()、equals() 和 hashcode() 的库?

4

2 回答 2

4

是的,Lombok 项目就是这样做的。请参阅http://projectlombok.org。它不仅支持javac,还支持Eclipse。所以方法不在源代码中,而是显示在大纲视图中。

于 2009-07-23T10:31:44.273 回答
0

我当然没有看到这一点,我不确定从中获得什么价值。我发现自动toString生成通常不是在搜索日志文件时想要的,并且大多数 IDE 将具有允许您生成hashCodeequals实现的工具,尽管这些不会自动反映您的类中的任何模式修改。

有两个选项可以实现这一点:

  1. 编译时类注释,它被处理(例如由您的 IDE)以生成相关方法。注释可以修改声明它们的类的生成字节码吗?我认为这种方法是一个非常糟糕的主意,因为您无法通过查看源代码来判断发生了什么
  2. 相关方法上的运行时注释以指示它们应通过特殊机制进行评估。这仍然需要您声明和注释您的方法,我也不确定您将如何实际拦截方法调用以在任何情况下使用注释
于 2009-07-23T10:27:31.100 回答