你还在new对象吗?lombok的Builder了解一下?

前言

我们写代码如果要创建一个对象一般会使用new的方式,
若是对象有属性,则使用set方法进行复制,
例如:

Student student = new Student();
student.setName("zhangsan");
student.setAge(18);
...

这种是可以的,但是如果我们对象的属性值有很多呢?
你想想,就这些复制的代码就会有很多,100个属性,就要写100行这种,写起来太麻烦

有什么方式可以简单一点呢?

lombok 了解一下

lombok大家都不陌生吧,这个插件帮助我们实现了一些方法,
比如getter和setter方法,构造方法等;

引入lombok:

<dependency> 
	<groupId>org.projectlombok</groupId> 
	<artifactId>lombok</artifactId> 
</dependency>

其中lombok里面有一个注解:@Builder
这个注解可以帮我们new对象,具体怎么用呢?

Student.builder()
               .sno( "001" )
               .sname( "admin" )
               .sage( 18 )
               .sphone( "110" )
               .build();

记得最后要有一个build();

是不是很简单,那我们其实还有默认值,怎么在Builder中加入字段的默认值呢?

问题一:
因为这里有个问题,我们用了Builder的话,在字段上给默认值是无效的,只能重新动这个类?

解决办法:
lombok有@Builder.Default的注解声明,注解在需要默认值的字段上即可。

题外话

lombok 其实也非常常用了,但是如果你们公司没有统一规定使用lombok的话,微服务之间交互可能有问题,这个我还不是很清楚,不过建议大家都用lombok即可;

若是你们公司没有用lombok,也没有推荐使用lombok,要实现简单赋值对象属性也很简单,jdk 8的通用Builder可以了解一下!
这个方式,不需要改造原来类,不需要 lombok 插件支持;用到的话可以查下具体怎么使用!

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值