当前位置: 首页 > 知识库问答 >
问题:

如何使用Lombok@value将setter添加到类中

颜志业
2023-03-14
@Value
@Builder
public class XXX {
    String field1;
    String field2;
    String field3;
}

我有一个使用lombok@value的类,如上所示,其中每个字段都是私有的和最终的。现在,我希望为field3设置一个setter,但这个setter不起作用,因为field3是final。我在这儿该怎么办?

共有1个答案

许俊雅
2023-03-14

然后不要使用@value@value用于值类,即实例不可变的类。如果您希望字段是可变的,那么您显然没有值类。

相反,应手动将所有其他字段设置为final。然后对类使用@getter@requiredargsconstructor(如果需要,还有@equalsandhashcode),对所有非final字段使用@setter。(或者使用@data,但要仔细阅读其文档。)

 类似资料:
  • 我使用Lombok项目为字符串字段生成getter/setter。此字段(例如密码)具有验证注释。 我想在setter中添加trim方法,以便不计算长度中的空白。 如何在Lombok setter中添加修剪方法?或者我必须编写自定义setter?

  • 问题内容: 我想使两个按钮看起来像按钮。只有当我使用actionlink的#ID来应用时,我才能实现此目的。我想为操作链接分配一个类,但是当我使用下面的代码时,出现一个错误,提示我缺少“}”。 这是我正在应用的样式: 这可行,我想我可以将另一个#ID添加到样式中,但想将样式应用于Class。 问题答案: 您必须使用字符,因为class是C#中的关键字。这是MSDN文档的链接

  • 我在我的项目中使用lombok,并在POJO类上使用和注释生成和。我试图重写属性的setters方法,但它不起作用 我想检查JSON属性是空的还是空的,我想在Setter方法中设置默认值 工作场景: 失败的场景: 输出: 我也将此作为参考,但到目前为止运气不佳

  • 问题内容: 我使用的龙目岛在我的项目和产生和使用,并注解POJO类的顶部。我正在尝试覆盖属性的setter方法,但是它不起作用 我想检查JSON属性是否为空或空,我想在Setter方法中设置默认值 工作方案: 失败的情况: 输出: 问题答案: 您只是遇到了一个我从未见过的错误,或者您正在测试错误。 像这样的注释 在现场一级确实阻止了设置器的生成。但是考虑到要定义一个setter,您甚至不需要它。显

  • 如何在下面的代码中使用setter? 我已经尝试了下面的方法来使用我的类,但得到了一个无法解决的方法错误。

  • 问题内容: 在带有一些实例变量和方法的ES6类中,如何向其添加mixin?我在下面给出了一个示例,尽管我不知道mixin对象的语法是否正确。 如果我运行,它将失败,因为类上没有任何内容,就像在mixin中一样,这就是为什么我需要将mixin变量和方法添加到类中的原因。 我看到有一个lodash mixin函数https://lodash.com/docs/4.17.4#mixin,但是我不知道如何