java中的.builder()方法

本文介绍了在Java中通过构造器和setter方法创建对象的两种方式,以及它们的优缺点。文章进一步探讨了Builder模式如何简化代码,并提供了使用Lombok插件进一步优化代码的例子。Builder模式在创建复杂对象时能保持代码整洁,而Lombok的@Data和@Builder注解则能自动化getter、setter和构造器,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class Main {
    public static void main(String[] args) {
        //方法1,使用全量的构造函数
        Result<String> result1 = new Result<>(200, "success", "");

        //方法2,使用空的构造函数加setter函数赋值
        Result<String> result2 = new Result<>();
        result2.setCode(200);
        result2.setMessage("success");
        result2.setData("");
    }
}

构建对象,给属性赋值,可以

  1. 使用包含形参的构造器,弊端是需要构造多个不同形参的方法;
  2. 一个空的构造器,然后使用setter方法进行设置,弊端是使用时冗长。
    因此可以使用builder来简化代码。

Builder其实是一种设计模式,叫做建造者模式

Result<String> result3 = new Result.Builder<>().code(404).message("failure").build();
Result<String> result4 = Result.newBuilder().code(404).message("failure").build();

使用lombok插件优化

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> {
    private int code;
    private String message;
    private T data;
}

Result<String> result5 = Result.<String>builder().code(404).message("failure").build();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值