Java-很深我只知其一构造(Builder)

Java-很深我只知其一构造(Builder)

构造方法:新建对象的方法,常见的构造方法无参构造和有参构造,这里记录一下builder构造,实际使用中更便捷。

含有Builder构造的实体类:Java命名规范类命名大驼峰,这里方便使用习惯与Lombok资源包保持一致,所以全小写。

java 复制代码
public class JavaBuilder {
    private Integer id;
    private Integer age;

    public JavaBuilder(builder builder) {
        this.id = builder.id;
        this.age = builder.age;
    }

    public static class builder{
        private Integer id;
        private Integer age;

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

        public builder age (Integer age){
            this.age = age;
            return this;
        }

        public JavaBuilder builder (){
            return new JavaBuilder(this);
        }
    }
}

快速构建对象

java 复制代码
JavaBuilder javaBuilder = new JavaBuilder.builder()
                .id(1)
                .age(2)
                .builder();
        System.out.println(javaBuilder);
相关推荐
1024奇点2 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Warren2Lynch3 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
天河归来3 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL4 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing034 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by209995 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河5 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
IT召唤狮5 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻5 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
Rover Ramble5 小时前
C++ 用互斥锁实现读写锁
开发语言·c++