龙目岛的版本是1.18.0。
我在类级别设置了@Builder
。
当我尝试为列表变量设置默认值时:
@Builder.Default
@Singular
private List<Class<? extends Exception>> retryTriggers = Lists.newArrayList(Exception.class);
我得到一个错误:
Error:(46, 5) java: @Builder.Default and @Singular cannot be mixed.
除了自己编写生成器之外,还有其他方法吗?
我建议用以下方法替换生成的Builder()
方法:
@Builder
class ExceptionHandler {
@Singular
private final List<Class<? extends Exception>> retryTriggers;
public static ExceptionHandlerBuilder builder() {
return new ExceptionHandlerBuilder().retryTrigger(Exception.class);
}
}
我有两个类,其中父类在构建时需要来自子类的一些属性。有没有一种方法可以使用lombok构建器来支持这一点? Parent.java 小孩JAVA 上面的编译失败,并显示消息 错误:无法从静态上下文@SuperBuilder引用非静态方法getRequest estType()
问题内容: 我正在将Lombok项目与Spring Data JPA一起使用。有什么方法可以将Lombok 与JPA默认构造函数连接? 码: 据我所知,JPA需要默认的构造函数,该构造函数被注解覆盖。有什么解决方法吗? 这段代码给我错误: 问题答案: 更新 根据反馈和John的回答,我已更新了不再使用or的答案,而是通过和创建访问器和变量,通过创建默认构造函数via,最后我们创建了构建器通过via
我的API定义如下: 我们使用生成代码。 生成的API参数:
问题内容: 我有一个对象 我用两种方式初始化它 这是输出 似乎builder没有获得默认值。我在属性中添加了注释,对象现在看起来像这样 这是控制台输出 我怎样才能使他们俩都成为? 问题答案: 我的猜测是,这是不可能的(没有删除代码)。但是,为什么不仅仅实现所需的构造函数呢?Lombok旨在使您的生活更轻松,如果Lombok无法解决某些问题,请按照老式的方式进行操作。 控制台输出:
简单地创建setter和防止NULL是不起作用的。我可以显式地写出AllArgsConstructor,但这(在某种程度上)违背了Lombok的目的。不是一个可怕的解决方案,但也不理想。 有人能想出任何解决办法吗?
我使用默认构造函数从子类中设置recordId的值,最初没有使用lombok。最终我决定在这里使用构建器,但现在的问题是lombok构建器在内部覆盖了我的默认构建器,因此从未设置值。