Android 开发之lombok--- 让java实体类更简洁

来源:互联网 发布:双十一淘宝退货率 编辑:程序博客网 时间:2024/05/22 03:21

java实体类比较多,又不想写一大堆冗余代码的可以考虑用lombok试试,效果还不粗,集成也比较简单。


1. 在app的gradle的dependencies中添加这两句。

provided ("org.projectlombok:lombok:1.16.16")provided ("javax.annotation:jsr250-api:1.0")
2.添加一个插件、
3.看个实体类代码就明白了,所谓代码精简就是注解咯
@Data@Builder@NoArgsConstructor@AllArgsConstructorpublic class User{    private String userId;    private String username;    private String password;    private String email;    private int  age;    private String mobilePhoneNumber;    private String createdAt;    private String updatedAt;    }
4.具体看看几个注解参数
  • val: 
    用在局部变量前面,相当于将变量声明为final
  • @NonNull: 
    给方法参数增加这个注解会自动在方法内对该参数进行是否为空的校验,如果为空,则抛出NPE(NullPointerException)
  • @Cleanup: 
    自动管理资源,用在局部变量之前,在当前变量范围内即将执行完毕退出之前会自动清理资源,自动生成try-finally这样的代码来关闭流
  • @Getter/@Setter: 
    用在属性上,再也不用自己手写setter和getter方法了,还可以指定访问范围
  • @ToString: 
    用在类上,可以自动覆写toString方法,当然还可以加其他参数, 
    例如 @ToString(exclude =”id”)排除id属性, 
    或者 @ToString(callSuper = true, includeFieldNames = true)调用父类的toString方法,包含所有属性

  • @EqualsAndHashCode:用在类上,自动生成equals方法和hashCode方法

  • @NoArgsConstructor, 
    @RequiredArgsConstructor 
    and@AllArgsConstructor: 
    用在类上,自动生成无参构造和使用所有参数的构造函数以及把所有@NonNull属性作为参数的构造函数,如果指定staticName = “of”参数,同时还会生成一个返回类对象的静态工厂方法,比使用构造函数方便很多
  • @Data: 
    注解在类上,相当于同时使用了@ToString、@EqualsAndHashCode、@Getter、@Setter和NoArgsConstructor
  • @Value: 
    用在类上,是@Data的不可变形式,相当于为属性添加final声明,只提供getter方法,而不提供setter方法
  • @Builder:用在类、构造器、方法上, 
    为你提供复杂的builder APIs,让你可以像如下方式一样调用

原创粉丝点击