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

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) 但其中一个参数具有更新的值(例如,age是 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();

如果有帮助,请告诉我。