在@Getter
字段上使用List
可以正常工作,但在尝试升级到Java 8时遇到ConcurrentModificationException
,因为Lombok生成的getter不执行该字段的副本,如果您希望防止外部修改实例的状态,这是必不可少的。
任何想法如何让Lombok复制Collection
在getter上,或者我只限于自己编写?
答案 0 :(得分:6)
来自@Getter and @Setter文档:
您可以使用@Getter和/或@Setter注释任何字段,让lombok自动生成默认的getter / setter。 默认的getter只返回字段,如果字段名为foo,则命名为getFoo(如果字段的类型为boolean,则命名为isFoo)。如果字段名为foo,则返回void,默认的setter名为setFoo,并且该字段采用与该字段相同类型的1个参数。它只是将字段设置为此值。
由于您需要更多功能,因此默认的getter必须自己编写。