Lombok 基础

Lombok 基本注解

Lombok 高级注解

Lombok FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/lombok-annotation-nonnull.html

Lombok @NonNull 注解深入理解


@NonNull 注解是 Lombok 库中的一个注解,它用于标记字段、方法参数或方法返回值,以指示它们不应为 null。

Lombok 的原理是通过在编译时处理注解来生成代码。当使用 @NonNull 注解时,Lombok 会在编译时自动生成以下代码:

  • 对于构造函数参数,Lombok 会生成空指针检查和赋值代码。
  • 对于 setter 方法参数,Lombok 会生成空指针检查和赋值代码。
  • 对于 getter 方法,Lombok 会生成空指针检查和返回值代码。

@NonNull 注解

@NonNull 是 Lombok 库提供的一个注解,用于在编译时自动生成非空性检查的代码。它可以用于字段、方法参数和方法返回值上,以确保它们不为 null。

源码如下:

@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE, ElementType.TYPE_USE})
@Retention(RetentionPolicy.CLASS)
@Documented
public @interface NonNull {
}

作用

@NonNull 注解的主要作用是:

  • 帮助开发者在编译时捕获潜在的空指针异常,从而提高代码的健壮性。
  • 自动生成非空性检查的代码,减少了手动编写这些检查的工作量。

注解属性

@NonNull 注解没有任何属性,它只是一个标志性注解,用于指示非空性。

用法

以下是 @NonNull 注解的使用方法的示例:

import lombok.NonNull;

public class Person {
    private String name;

    public Person(@NonNull String name) {
        this.name = name;
    }

    public void setName(@NonNull String name) {
        this.name = name;
    }

    @NonNull
    public String getName() {
        return name;
    }
}

在上面的示例中,我们使用了 @NonNull 注解来标记构造函数的参数、setter 方法的参数和 getter 方法的返回值。这将自动生成非空性检查的代码,确保传入的参数不为 null,以及返回的值不为 null。

总结

总之,@NonNull 注解是 Lombok 库中用于指示非空性的注解,它可以帮助开发者编写更健壮的代码,减少了手动编写空指针检查的工作,提高了开发效率。通过在编译时生成相关代码,它确保了非空性检查的可靠性。

@ToString注解是Lombok库提供的一种注解,用于自动生成一个类的toString()方法。@ToString注解@ToString ...
@Value注解是Lombok中的一个注解,它用于生成一个不可变(immutable)的Java类,该类包含了一些常用的方法,如构造函数、e ...
@Data注解是Lombok中的一个重要注解之一,它用于自动生成类的标准数据方法。总结总之,@Data注解是Lombok库中用于自动生成常用 ...
当你使用@Builder注解时,Lombok会在编译过程中生成一个新的内部类,该内部类包含所有字段的setter方法,以及一个build() ...
@Log注解是Lombok提供的一个用于自动生成日志记录代码的注解,它可以帮助开发人员轻松地添加日志记录功能到他们的类中,而无需手动编写这些 ...