首页 > 解决方案 > 在调用 build() 之前,@Builder 对象的类类型是什么?

问题描述

我以前做过,但忘记了,无法在网上轻松找到答案。

假设我在 POJO 上有 lombok

@Builder
@NoArgsConstructor
class Car {
    private int gallons;
    private int wheels;
    private String name;
}

我想在某些逻辑中使用构建器符号

public Car getCar(boolean isNew) {

    <I dont know what type to put here> carBase = Car.builder().wheels(4);

    if(!isNew) {
        return carBase.gallons(10).build();
    }
    else {
        return carBase.gallons(0).build();
    }
}

我应该用什么类型来填写?

标签: javabuilderlombok

解决方案


好的,所以我实际上遇到了这个错误为什么 Lombok @Builder 与这个构造函数不兼容?这打破了我的@Builder课。

显然,lombok 会在用 call 注释的类中生成一个静态嵌套类,所以要回答我原来的问题,会有一个有效的类@Builder叫做.<classname>BuilderCar.CarBuilder


推荐阅读