java - 如果列表为 null 使用 lombok getter 初始化列表?

标签 java java-8 lombok

我目前正在替换我所有的标准 POJO,以将 Lombok 用于所有样板代码。我发现自己为列表保留 getter,因为如果列表尚未初始化,我想返回一个空列表。也就是说,我不希望 getter 返回 null。如果有一些我不知道的 lombok 魔法可以帮助我避免这样做?

生成代码示例

private List<Object> list;
public Object getList(){ return list; }

我想要的是:

private List<Object> list;
public Object getList(){
    if (list == null) {
        return new ArrayList();
    }
    return list;
}

最佳答案

您可以通过声明和初始化字段来实现这一点。初始化将在封闭对象初始化时完成。

private List<Object> list = new ArrayList();

Lomboks @Getter 注释提供了一个属性 lazy 允许延迟初始化。

 @Getter(lazy=true) private final double[] cached = expensiveInitMethod();

Documentation

关于java - 如果列表为 null 使用 lombok getter 初始化列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38522092/

相关文章:

java - 带有强制参数的 Lombok 构建器

java - 将字符串的值发送到方法

java - 即使设置正确,Gradle 也会发现错误的 JAVA_HOME

java - 如何使用 Javafx KeyCombination 覆盖系统默认键盘快捷键,如 Ctrl+C、Ctrl+V?

java - 如何修复 : Lombok builder() method does not seem to be recognised in IntelliJ?

java - 如何修复多模块 Maven 项目中的 Lombok 覆盖率

java - Maven:清理 gwt-unitCache 目录

java - 如何在JavaFX中绑定(bind)到复合属性的组件?

Java 2D 数组通过流转换为 2D ArrayList

java 8 i/o 流应用程序