我有一个用例,我不想在类本身上使用@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?