如何让Lombok生成多别名Getter并全大写缩写词?
解决方案
Lombok 目前没有原生支持通过 @Getter 注解直接为单个字段生成多个不同名称的Getter方法,但可以通过以下两种方式实现你的需求:
方法一:关闭自动生成,手动编写所有需要的Getter
用 @Getter(AccessLevel.NONE) 禁用Lombok对该字段的自动Getter生成,然后手动编写两个等效的Getter方法:
@Data public class IssuerIdentificationNumber { @Getter(AccessLevel.NONE) private MajorIndustryIdentifier mii; private CountryCallingCode countryCode; private IssuerIdentifier issuerId; public MajorIndustryIdentifier getMII() { return mii; } public MajorIndustryIdentifier getMajorIndustryIdentifier() { return mii; } }
方法二:用Lombok生成一个Getter,手动补充另一个
通过 @Getter(name = "getMII") 指定Lombok生成其中一个Getter,然后手动编写另一个,避免重复代码:
@Data public class IssuerIdentificationNumber { @Getter(name = "getMII") private MajorIndustryIdentifier mii; private CountryCallingCode countryCode; private IssuerIdentifier issuerId; public MajorIndustryIdentifier getMajorIndustryIdentifier() { return getMII(); // 直接复用已生成的方法 } }
内容的提问来源于stack exchange,提问作者Xi Minghui
相关产品推荐
相关产品推荐

