有一个包含类B的简单类A是否有任何lombok注释,如果为null,将在a中创建类b的新实例?
public class A {
@Getter
@Setter
private B b;
}
答案 0 :(得分:2)
我担心这个功能不存在。 documenation列出了注释的许多配置键,但未列出您所使用的功能。
有人最近在Lombok Github page上要求提供类似的内容:
我喜欢这个场景的这个功能:
@Getter(lazy = true) private List<String> foo = new ArrayList<>();
生成这样的东西:private List<String> foo; public List<String> getFoo() { if (this.foo == null) { this.foo == new ArrayList<>(); } return this.foo; }
当然,它可以使用双重检查锁定或AtomicReference,但这里的重点是我得到一个空列表而不是空引用。例如,它是JAXB类中常见的习惯用法,可以很好地减少Lombok的大小。
因此,该功能尚未实现。如果我是你,我会避免在这些情况下使用注释,而是创建手工所需的方法。