You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Lombok注解生成包含不同指定字段的两个构造方法

问题结论

原生Lombok的标准构造注解无法直接自动生成你需要的自定义参数组合的额外构造,你可以通过以下方式实现需求:

可行方案

  • 方案1:直接手写包含b、c参数的构造方法,和Lombok通过@RequiredArgsConstructor生成的构造完全兼容,不会发生冲突,示例代码如下:
@RequiredArgsConstructor
class Foo {
    @NonNull
    private String a;
    @NonNull
    private double b;
    private int c;

    // 手写的自定义构造,和Lombok生成的a+b参数构造共存
    public Foo(double b, int c) {
        this.b = b;
        this.c = c;
    }
}
  • 方案2:如果你不想手写构造逻辑,也可以使用Lombok实验性功能中的@CustomConstructor注解,指定需要的字段列表生成对应构造,注意实验性功能可能存在版本兼容性问题,不推荐在生产环境使用。

补充说明

Lombok提供的三个标准构造注解@NoArgsConstructor、@RequiredArgsConstructor、@AllArgsConstructor每个类型仅支持生成一个对应规则的构造,无法自定义参数组合,因此自定义参数的构造优先推荐手写实现。

内容的提问来源于stack exchange,提问作者Compte Gmail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:45:00