Java 生成链式设置器

Java 生成链式设置器,java,ide,Java,Ide,我想创建一个包含20个文件的大型Java对象,大多数IDE都提供了一个generate函数,它允许我为对象的所有领域生成getter和setter 问题是,我非常喜欢它,我在我的所有对象上都使用它,但我必须在每个setter的末尾添加return,这不是很方便 是否可以使用IDE中的特殊插件生成setter?通常称为fluent setter。有一个自动为你做的。我很确定你可以在eclipse或IntelliJ中找到一些等价的东西。它通常被称为fluent setter。有一个自动为你做的。我敢

我想创建一个包含20个文件的大型Java对象,大多数IDE都提供了一个generate函数,它允许我为对象的所有领域生成getter和setter

问题是,我非常喜欢它,我在我的所有对象上都使用它,但我必须在每个setter的末尾添加return,这不是很方便


是否可以使用IDE中的特殊插件生成setter?

通常称为fluent setter。有一个自动为你做的。我很确定你可以在eclipse或IntelliJ中找到一些等价的东西。

它通常被称为fluent setter。有一个自动为你做的。我敢肯定,您可以在eclipse或IntelliJ中找到一些等效的东西。

IntelliJ IDEA中可能有:

调用生成>设置菜单 选择模板生成器。 选择要生成setter的所有字段 单击“确定”。 以下是为1个字段生成的结果:

public MyClass setParam(String param) {
        this.param = param;
        return this;
    }
也可以在那里创建自己的模板

在IntelliJ IDEA中也可以:

调用生成>设置菜单 选择模板生成器。 选择要生成setter的所有字段 单击“确定”。 以下是为1个字段生成的结果:

public MyClass setParam(String param) {
        this.param = param;
        return this;
    }
也可以在那里创建自己的模板

您可以尝试lombok

lombok.accessors.chain=[true | false]默认值:false

如果设置为true,生成的setter将返回该值,而不是void。@Accessors注释的显式配置链参数优先于此设置

这是你想要的吗?

你可以试试龙目山

lombok.accessors.chain=[true | false]默认值:false

如果设置为true,生成的setter将返回该值,而不是void。@Accessors注释的显式配置链参数优先于此设置

这是你想要的吗?


你怎么能成为连环杀手?我的坏朋友,奥利弗·卡莱斯沃斯你让我大吃一惊。但是getter可能不应该被链接起来,否则它们将毫无用处。FWIW,您应该研究一下@OliverCharlesworth,而不可变DTO/ValueObject是一个非常好的主意,构建器上的fluent API并没有那么糟糕;哦,你们怎么会是连环杀手呢?我的坏朋友,奥利弗·卡莱斯沃斯你们让我大吃一惊。但是getter可能不应该被链接起来,否则它们将毫无用处。FWIW,您应该研究一下@OliverCharlesworth,而不可变DTO/ValueObject是一个非常好的主意,构建器上的fluent API并没有那么糟糕;小心点!它绕过JDKs编译器更改字节码,您必须预期与未来java版本不兼容。请小心使用lombok!它绕过JDKs编译器更改字节码,因此您必须预期与将来的java版本不兼容。