Lombok的@NonNull的用法说明

Explanation on the usage of Lombok's @NonNull

@NonNull在以下两种情况下的用法有什么区别:

案例 1:

class MyClass {
    @NonNull
    private String name;

    @Builder
    MyClass(String name) {
        this.name = name;
    }
    .
    .
}

案例二:

class MyClass {
    private String name;

    @Builder
    MyClass(@NonNull String name) {
         this.name = name;
    }
    .
    .
}

如前所述,亲自试用 delombok 比询问更有价值。但是,案例 1 很有趣,因为 MyClass(null).name 只是返回 null.

你可能觉得lombok不行,只不过它不会重写你手动写的构造函数而已。它只保证它自己永远不会将 null 分配给标有 @NonNull 的字段。自己做什么,自己负责。

您不应该对 Lombok 抱有太大期望。这是一个很棒的工具,可以让我的代码缩短 30%,但对于每个工具,您都必须知道它的局限性。