lombok-builder构造对象,变量默认值需要注解!

本文介绍如何使用 Lombok 的 @Builder 注解,并设置默认值。通过添加 @Builder.Default,可以在不指定某些字段的情况下,使这些字段采用默认值,解决了使用默认构造器时未初始化的问题。

问题

使用lombok-builder注解,在builder时不为变量赋值。

@Setter
@Getter
@Builder
class TestGray {
	private String grayType = "GRAY_TYPE1";
	
	void testMethod(){
		TestGray testGray = TestGray.builder().build();
		System.out.println(testGray.getGrayType());
	}
}

直接使用Builder进行构造后,发现test.getGrayType是null
不是预期的默认值 GRAY_TYPE1

升级到最新版

  1. 升级lombok的版本 >= 1.16.16
l<dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
     <version>1.16.16</version>
     <scope>provided</scope>
   </dependency>
  1. 使用@Builder.Default
@Setter
@Getter
@Builder
class TestGray {
@Builder.Default
	private String grayType = "GRAY_TYPE1";
	
	void testMethod(){
		TestGray testGray = TestGray.builder().build();
		System.out.println(testGray.getGrayType());
	}
}

这样就ok了。


引用

https://segmentfault.com/a/1190000009514422
https://reinhard.codes/2016/07/13/using-lomboks-builder-annotation-with-default-values/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值