kotlin - 在 Kotlin 中禁用非空检查

标签 kotlin bean-validation javax

class User(val name: String)

我知道在构造函数中将添加此检查

Intrinsics.checkParameterIsNotNull(name)

确保 name 不存储 null。

有没有办法不生成此类检查?也许是注释?

我们在 Spring 中将 json 字符串映射到类时需要这个。 验证由 javax 中的 @NotNull@Valid 完成

class User(@field:NotNull @field:Email val name: String)

因此,在对象创建后立即执行检查,但由于构造函数会抛出异常,因此这是不可能的。

最佳答案

您可以在 this post 中查看如何操作。 ,使用编译器标志:

-Xno-param-assertions

或者 Proguard:

-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
 static void checkParameterIsNotNull(java.lang.Object, java.lang.String); 
}

关于kotlin - 在 Kotlin 中禁用非空检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49360740/

相关文章:

android - 房间一对多、对多

java - Hibernate计算集合@Formula

java - 未调用 Resteasy Bean 验证

java - 使 javax 验证错误消息更具体

jsf-2 - 空输入值不会触发@NotNull,但会触发@NotBlank

Java代码重构

java - 文字不在图像前面

android - 数据绑定(bind) Kotlin Android 工作室错误

java - JavaZOOM播放后移动文件

spring-mvc - IBM MFP V8 中未生成 Swagger UI