基类中的@Builder.Default不工作是因为@Builder.Default注解只能用于具有@Builder注解的类中的字段,而不能用于基类中的字段。
@Builder是Lombok库中的一个注解,它可以自动生成Builder模式的代码,简化对象的创建过程。当一个类使用了@Builder注解后,Lombok会自动生成一个内部静态Builder类,该类包含了与原始类中的字段对应的setter方法,并且可以链式调用这些setter方法来构建对象。
@Builder.Default注解用于指定字段的默认值。当使用@Builder注解时,如果某个字段没有指定默认值,那么生成的Builder类中该字段的默认值将为null。通过在字段上添加@Builder.Default注解,可以为该字段指定一个非null的默认值。
然而,基类中的字段不会被生成的Builder类继承,因此无法直接在基类中使用@Builder.Default注解。如果想要在基类中为字段指定默认值,可以通过在子类中重写字段并使用@Builder.Default注解来实现。
总结起来,基类中的@Builder.Default不工作是因为它只能用于具有@Builder注解的类中的字段,而不能用于基类中的字段。
领取专属 10元无门槛券
手把手带您无忧上云