IDEA插件系列(42):InnerBuilder插件——生成一个内部Builder类

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA插件系列(42):InnerBuilder插件——生成一个内部Builder类相关的知识,希望对你有一定的参考价值。

1.插件介绍

InnerBuilder插件。

将 Builder 操作添加到 Generate 菜单 (Alt+Insert) 中,它会生成一个内部构建器类,如 Effective Java 中所述。

就是生成一个建造者模式的Builder类。

2.安装方式

第一种方式,是在IDEA上搜索插件进行安装,会适配当前IDEA的版本。

 第二种安装方式是使用离线插件进行安装。

插件下载地址:https://plugins.jetbrains.com/plugin/7354-innerbuilder

3.使用方法

使用方法很简单,在一个类中,使用 Shift+Alt+B 或 Alt+Insert 并选择生成器。选择要包含的字段,然后按 OK。

例如有这么一个类:

public class User {
    private int id;
    private String username;
    private String password;
    
    
}

通过Shift+Alt+B 或 Alt+Insert 快捷键,出现如下面板,选择"InnerBuilder..."

 可以选择要生成的属性和一些自定义配置

 生成后的代码如下:

public class User {
    private int id;
    private String username;
    private String password;

    private User(Builder builder) {
        id = builder.id;
        username = builder.username;
        password = builder.password;
    }


    public static final class Builder {
        private int id;
        private String username;
        private String password;

        public Builder() {
        }

        public Builder id(int val) {
            id = val;
            return this;
        }

        public Builder username(String val) {
            username = val;
            return this;
        }

        public Builder password(String val) {
            password = val;
            return this;
        }

        public User build() {
            return new User(this);
        }
    }
}

那么下面就是使用这个Builder来生成User类对象。

public class Test2 {
    public static void main(String[] args) {
        User user = new User.Builder()
                .id(1)
                .username("张三")
                .password("123456")
                .build();
    }
}

 这个插件需要学过建造者设计模式才能更充分的理解使用,确实非常方便。

以上是关于IDEA插件系列(42):InnerBuilder插件——生成一个内部Builder类的主要内容,如果未能解决你的问题,请参考以下文章

IDEA插件系列(105):IDEA Mind Map插件——IDEA思维导图

IDEA插件系列(50):GlassCode ​(For Windows)​插件——IDEA完全透明

IDEA插件系列(47):LongTimeToDate插件——日期转换

IDEA插件系列(68):SmartSemicolon插件——智能分号

IDEA插件系列(114):Gitee插件——连接码云

IDEA插件系列(57):ExcelReader插件——excel文档阅读器