如何在使用Lombok和Eclipse保存操作时使用默认值

3

我使用Eclipse Save actions,通常发现它们非常有用。 但是,当使用Lombok时遇到了一个令人恼火的场景。

在下面的类中,我想为字段设置默认值以防止空值,同时仍允许setter。

@Data
public class Foo {
    @NonNull
    private String value = "myDefaultValue";
}

这很好,直到我点击保存时,Eclipse将字段设置为final! 我通常不想禁用保存操作,因为我大多数时候都喜欢它们所做的事情。只是在这种情况下不需要! 这个问题建议我不能在不运行保存操作的情况下保存,而在编辑文件时一遍又一遍地启用/禁用保存操作很麻烦。

没有绕过这个问题的办法。不过你可以在每个项目上设置保存操作,也许这能帮到你... - Tonny Madsen
2个回答

1

这是一个错误,已经在问题263中得到修复。最初,这个修复是在Lombok 0.10.4中发布的,但是作为副作用引入了一个新问题,这个问题已经在0.10.8版本中得到解决。

声明:我是Project Lombok的开发人员之一。


0

很抱歉,这不是Lombok的答案。但是根据我的经验,final带来的伤害大于好处。它并不能阻止你改变引用指向的对象(当然,对于不可变的String除外)。优化只能起到微小的帮助。我在Java中避免使用final,但喜欢C++中的const

您可以编辑保存操作并排除添加final关键字,同时执行其他操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接