繁体   English   中英

如何更新现有 java lombok Builder object 的任何参数值?

[英]How to update any parameter value of existing java lombok Builder object?

如果我有一个@Builder AnObj,

import lombok.Builder;

@Builder public class AnObj {

    private final String name;
    private final int age; 
}

及其属性(姓名、年龄),并且创建了一个实例

        AnObj a = AnObj.builder()
                .name("abc")
                .age(25)
                .build();
        System.out.println("anInstance: " + a.toBuilder().toString());
// Prints 
 anInstance: AnObj.AnObjBuilder(name=abc, age=25)

那么我如何使用相同的对象( a )但在其中一个参数中更新值(例如,年龄为 40 岁)

我试过了,

    a.toBuilder().age(40).build();
    System.out.println("anInstance after update: " + a.toBuilder().toString());

// Prints the same values again:
 anInstance after update: AnObj.AnObjBuilder(name=abc, age=25)  

预期打印结果:

*// AnObj.AnObjBuilder(name=abc, age=40)*

提前感谢您的宝贵时间。

当您调用toBuilder.age(40).build()时,您不会将其重新分配给实例。 代码应如下所示:

a = a.toBuilder().age(40).build();

让我知道它是否有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM