是否有任何Java库使用注释来生成代码?

时间:2009-07-23 08:30:08

标签: java code-generation tostring

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

2 个答案:

答案 0 :(得分:4)

是的,项目Lombok这样做。见http://projectlombok.org。它不仅支持javac,还支持Eclipse。因此这些方法不在源代码中,而是显示在大纲视图中。

答案 1 :(得分:0)

我当然没有看到这一点,我不确定从中获得什么价值。我发现在搜索日志文件时,自动toString生成通常不是您想要的,并且大多数IDE都会有工具允许您生成hashCodeequals实现,虽然授予它们不会自动反映您班级中的任何架构修改。

实现此目的有两种选择:

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