Lombok 使用简介

lombok 可以通过简单注解生成常用的Java代码,以提高开发效率。

1. @Getter/@Setter

注解字段或类上,默认生成 public 的setter,getter方法

如果要修改方法修饰符,可以设置value的值,例如:@Getter(AccessLevel.PROTECTED)

@Getter
@Setter
public class User
{
    @Getter @Setter private String name;
    @Setter(AccessLevel.PROTECTED)  private int age;
    private String address;
}
2. @ToString

生成toString()方法,格式如下。

可以使用 exclude 设置不包含字段,如:@ToString(exclude = {"id","name"})

@ToString
public class User
{
    private String name;
    private int age;
    private String address;
}

生成代码如下:

public String toString() {
    return "User(name=" + this.name
            + ", age=" + this.age
            + ", address=" + this.address + ")";
}

3. @EqualsAndHashCode

生成hashCode()和equals()方法,默认情况下,它将使用所有非静态,非transient字段。

可以使用 exclude 设置不包含字段

4.@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

@NoArgsConstructor 生成一个无参构造方法。当类中有final字段没有被初始化时,可用@NoArgsConstructor(force = true),会为没有初始化的final字段设置默认值 0 / false / null。

@RequiredArgsConstructor:会生成一个包含常量,和标识了NotNull的变量 的构造方法。

@AllArgsConstructor 生成全字段的构造方法。

5. @Data

@data 包括了 @Getter,@Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode 的功能。

6. @Builder

@Builder 自动生成复杂的构建器代码,以使类具有可实例化的代码,例如:

Person.builder().name("Adam Savage").city("San Francisco").job("Mythbusters").job("Unchained Reaction").build();

7. @NonNull

用于字段或参数上,可以进行空值检查。


其他更多应用可以参阅:

官方文档https://projectlombok.org/features/all

github:https://github.com/rzwitserloot/lombok


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值