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%,但对于每个工具,您都必须知道它的局限性。
@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%,但对于每个工具,您都必须知道它的局限性。