使用注释生成 equals / hashcode / toString

2023-11-23

我相信我在某处读到人们在编译时(使用 APT)通过确定哪些字段应该是哈希/相等测试的一部分来生成 equals/hashcode/toString 方法。我在网上找不到类似的东西(我可能梦见过它?)...

可以这样做:

public class Person {
  @Id @GeneratedValue private Integer id;

  @Identity private String firstName, lastName;
  @Identity private Date dateOfBirth;

  //...
}

对于一个实体(我们是否要排除某些字段,例如 id)。

或者像 scala 案例类,即值对象:

@ValueObject
public class Color {
  private int red, green, blue;
}

不仅文件变得更具可读性和更容易编写,而且还有助于确保所有属性都是 equals / hashcode 的一部分(以防您稍后添加另一个属性,而无需相应地更新方法)。

我听说 IDE 中对 APT 的支持不是很好,但我不认为这是一个主要问题。毕竟,测试主要是由持续集成服务器运行的。

知道这是否已经完成了吗?如果没有,为什么? 谢谢


我在用着龙目岛计划为了这。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用注释生成 equals / hashcode / toString 的相关文章

随机推荐