簡體   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