繁体   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