Intellij Idea自动创建课程的链接设置器

时间:2019-01-31 08:10:03

标签: java intellij-idea

我在类似以下的类中创建经过修改的设置器:

public class Example {
    private String name;
    private Integer id;

    ...

    public Example withName(String name) {
        this.name = name;
        return this;
    }
    public Example withID(Integer id) {
        this.id = id;
        return this;
    }
    ...
}

因此实例的初始化变得更加清晰(您可以在不重复实例名称的情况下看到已设置的字段):

Example example = 
    new Example()
            .withName("Walter")
            .withID(23);

是否具有重构/代码约束方法来自动构建类的链初始化?

2 个答案:

答案 0 :(得分:1)

您可以使用Code | Generate...自动创建二传手。首先将字段添加到类中:

class Example {
    private String name;
    private Integer id;
}

现在调用Code | Generate...(在Mac上为 Cmd + N ),然后选择Setter。在出现的对话框顶部选择模板Builder。选择要为其生成设置器的字段,然后单击OK。 结果:

class Example {
    private String name;
    private Integer id;

    public Example setName(String name) {
        this.name = name;
        return this;
    }

    public Example setId(Integer id) {
        this.id = id;
        return this;
    }
}

如果您希望setter方法以with而不是set开头,则可以修改模板。

答案 1 :(得分:0)

  1. 首先,生成带有字段的构造函数。
  2. 然后右键单击选择     重构,然后将构造函数替换为生成器。

    withRainbow.js

enter image description here