【发布时间】:2016-11-26 02:24:37
【问题描述】:
我目前正在替换所有标准 POJO,以便将 Lombok 用于所有样板代码。我发现自己为列表保留了 getter,因为如果列表尚未初始化,我想返回一个空列表。也就是说,我不希望 getter 返回 null。如果有一些我不知道的龙目岛魔法可以帮助我避免这样做?
生成代码示例
private List<Object> list;
public Object getList(){ return list; }
我想要什么:
private List<Object> list;
public Object getList(){
if (list == null) {
return new ArrayList();
}
return list;
}
【问题讨论】:
-
为什么不直接初始化列表呢?
-
"如果列表没有被初始化" 我认为这是一个错误。如果由于某种原因您想要/需要延迟初始化,您可以查看文档 - 不可能错过
@Getter(lazy=true)。顺便说一句,所需的代码与最初初始化列表的代码相同。 -
@JFMeier 初始化变量不会阻止使用 x.setList(null) 发生。所以 getList() 不能保证不为空。