@get:NotNull 在 Kotlin 中是什么意思?



我读取了 khipster 生成的代码,在一个数据类中我发现了这样的片段:

import javax.validation.constraints.NotNull
data class MyDTO(
var id: Long? = null,
@get: NotNull
var name: String? = null,

@get:NotNull注释是什么意思?据我了解@get意味着我想注释name属性的 getter,NotNull是一个验证注释,这意味着该事物不能设置为 null。但是两者是如何协同工作的呢?用注释注释 getter 没有任何意义,这意味着这不能设置为 null,因为无法设置 getter。在 setter 上使用NotNull注释会更有意义。

方法上的@NotNull意味着它不能返回null。因此,特别是用它注释二传手是没有意义的;注释资源库的参数可以。

如果你使用IntelliJ的反编译功能(请检查这个答案)

Kotlin Code:

@get: NotNull
var uid: String? = null

反编译代码:

import javax.validation.constraints.NotNull;
import org.jetbrains.annotations.Nullable;
@Nullable
private String uid;
@NotNull
@Nullable
public final String getUid() {
return this.uid;
}
public final void setUid(@Nullable String var1) {
this.uid = var1;
}

@get:NotNull 注释是什么意思?

快速回答:请将@NotNull注释放在getter函数的顶部

!!请注意,由于变量定义末尾的"?",还向getter函数添加了@Nullable注释 正如您从导入中注意到的那样,它是由IntelliJ添加

的作为详细答案:我可以将您重定向到"使用站点目标声明">

  • 比尔东
  • 博客文章

最后,我想表达一下我的经验,我在uid字段上有@Nullable@NotNull注释(您可以在反编译代码上看到),我可以将该字段设置为null

相关内容

  • 没有找到相关文章

最新更新