lombok的注解

lombok主要通过注解起到作用,官网中提供了具体的注解的介绍,这里只介绍一些比较常用的注解的介绍和使用。

上一篇主要介绍了lombok的配置,这一篇主要介绍lombok的部分注解。


@Getter / @Setter

可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的访问级别。默认生成的方法属性是public,想要修改方法可以用方法修饰符设置AccessLevel的值,比如@Getter(access = AccessLevel.PROTECTED)

@EqualsAndHashCode

默认情况下,会使用所有非瞬态和非静态字段来生成equals和hascode方法,也可以指定具体使用哪些属性。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段。

非静态:静态是指由static关键字修饰的变量或方法;反之就是非静态。在java中,静态变量优于非静态量加载,所以如果静态代码块中不能引用非静态成员的变量,会报错。
非瞬态:瞬态是指关键字“transient”修饰的变量;反之为非瞬态。瞬态变量的生命周期仅存于调用者的内存中。瞬态变量不可被序列化。

@ToString

生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。可以通过@ToString(exclude = “id”) / @ToString(exclude = {“id”,”name”})设置不包含哪些字段;如果继承的有父类的话,可以设置callSuper 让其调用父类的toString()方法,例如:@ToString(callSuper = true)

@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。

@Data

@ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,一般情况下,我们使用这个注解就足够了。

@NonNull

可以帮助我们避免空指针。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值