龙目岛可以仅根据类型生成构建器吗?



我有一个用例,我不想在类本身上使用@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 在处理文件时避免检查类路径上其他位置的类型。

您不向类本身添加@Builder的原因是什么?如果您可以描述一个常见的用例,您或其他人可能会将此功能添加到龙目岛。但是,目前我看不出任何充分的理由。大多数库应该已经相对容易使用,如果是您自己的代码,为什么不直接添加 Lombok?

我添加@Builder的主要原因也是因为我希望我的类是不可变的 - 鉴于实际对象在这里仍然是可变的,为什么要使用 builder 而不是 setter?

最新更新