簡體   English   中英

lombok 可以僅根據類型生成構建器嗎?

[英]Can lombok generate builder based on the type solely?

我有一個用例,我不想在類本身上使用 @Builder ,所以我創建了基於方法的構建器,如下所示:

  @Builder(builderMethodName = "carBuilder")
  public static Car build(int speed, String brand){
    Car car = new Car();
    car.setSpeed(speed);
    car.setBrand(brand);
    return car;
  }

但是當給定的類有大量字段(超過 20 個)時,我該如何處理。 我真的應該將它們指定為參數並手動調用 setter 嗎?
不能只是 lombok 根據類型自動生成它們嗎?

目前這是不可能的,因為 Lombok 避免在處理文件時檢查類路徑上其他地方的類型。

您不將@Builder添加到類本身的原因是什么? 如果您可以為此描述一個常見用例,則您或其他人可能能夠將此功能添加到 Lombok。 但是,目前我看不出有什么好的理由。 大多數庫應該已經相對容易使用,如果它是您自己的代碼,為什么不添加 Lombok?

我添加@Builder也是因為我希望我的類是不可變的 - 鑒於實際對象在這里仍然是可變的,為什么要使用 builder 而不是 setter?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM