• Lombok


    lombok(笔记)

    目的:减轻Java代码的臃肿

    导入Lombok依赖

    • 地址上网查

    @Getter和Setter

    为字段生成Getter和Setter方法,可以注解到字段或者到类上(注解在类上会为所有的字段生成Getter和Setter方法),默认是public级别,可以修改访问级别

    @NonNull

    为字段赋值时,如果传的参数为null,则会抛出空异常

    @NoArgsConstructor

    生成一个无参构造方法。当类中有final字段没有被初始化时,编译器会报错,此时可以用@NoArgsConstructor(force = true),然后就会为没有初始化的final字段设置默认值,对有有约束的字段,不会生成检查或分配,因此,正确初始化这些字段前,这些约束无效

    @RequiredArgsConstructor

    生成构造方法(可带参数或者不带参数),如果带参数,这参数只能是以final修饰未初始化的字段,或者是以@NonNull注解的未经初始化的字段。@RequiredArgsConstructor(staticName = "of")会生成一个of的静态方法,并把构造方法私有

    @AllArgsConstructor

    生成一个全参数的构造方法

    @ToString

    生成toString()方法,默认情况下它会按顺序(以逗号为分割)打印类名称以及每个字段。可以设置不包含那些字段,可以指定一个或多个@ToString(exclude = "id")/@ToString(exclude = "{"id","name"}")

    @EqualsAndHashCode

    生成hashCode()和equals()方法,默认情况下,默认情况下,它将所有非静态,非transient字段,但可以通过在可选的exclude参数中排除更多的字段,或者通过of参数中命名,他们来准确指定希望使用那些字段。

    排除字段exclude

    @EqualsAndHashCode( exclude = {"password","salt"})

    指定要包含的字段

    @EqualAndHashCode(of = {"id","phone","password"})

    @Data

    @Date包含了@ToString,@EqualsAndHashCode,@Getter/@Setter和@RequiredargsConstructor的功能

    @Value

    @value将字段都变成不可变类型,使用final修饰,同时包含@ToString,@EqualsAndHashCode,@AllArgsConstruor,@Getter(注意只有getter,没有setter)

    @Log

    生成log对象,用于记录日志,可以通过topic属性设置getLogger(String name)方法的参数,例如@Log4j(topic = "xxx.xxx"),默认类的全限定名

    @SneakyThrows

    @Synchronized

    加上同步锁

    @Cleanup

    主要用来修饰IO流的相关类,会在finally代码块中对该资源close()

    @Getter(lazy = true)

    标注字段为懒加载字段,懒加载字段在创建对象时不会初始化,而是第一次访问时才会初始化,后面再次访问不会重复初始化

    @Wither

    提供给final字段赋值的一种方法

    @Builder

  • 相关阅读:
    canves应用
    canves图形变换
    精简设置三角形
    [JSOI2008]星球大战
    实用技巧
    [HAOI2011]Problem b
    [luoguAC500纪念]骑士共存问题
    [NOI2014]起床困难综合症
    魔术球问题
    AC自动机(简单版)
  • 原文地址:https://www.cnblogs.com/xiaozhazhahui/p/15058361.html
Copyright © 2020-2023  润新知