我了解了不变性的概念,以及为什么使 DTO 不变是一个好主意。
我还注意到 Java 有一个 @Immutable
注释,我们可以用它来注释不可变类。
我的问题是:将 Java 类注释为 @Immutable
会给我们带来什么?是否有任何库功能仅适用于以这种方式注释的类?
最佳答案
注释记录了您的类是不可变的这一事实,并告诉该类的用户您已遵循 the annotation javadoc 中定义的约定。 。直接在 javadoc 中直接包含注释也很常见:这是 JDK 选择的方法,例如参见 javadoc of LocalDate .
一些静态分析工具(例如 FindBugs)也可以使用该注释并验证该类确实是不可变的。例如,如果您忘记将公共(public)字段设为最终值,FindBugs 将发出警告。
关于java - 使用@Immutable注解不可变的Java类有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57009210/