为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Kotlin 生成的 Java 代码中禁用 @NonNull/@Nullable 注释

如何在 Kotlin 生成的 Java 代码中禁用 @NonNull/@Nullable 注释

哆啦的时光机 2021-09-03 17:30:43
我需要@NonNull/@Nullable在 Kotlin 生成的 Java 代码中禁用注释,因为某些注释适配器(代码生成器)无法正确处理某些带注释的字段你知道怎么做吗?一些 Kotlin 注释或编译器指令问题:kotlin 类:open class TestModel(    var test: ByteArray = ByteArray(0))生成的java:public class TestModel {@org.jetbrains.annotations.NotNull()private byte[] test;@org.jetbrains.annotations.NotNull()public final byte[] getTest() {    return null;}public final void setTest(@org.jetbrains.annotations.NotNull()byte[] p0) {}public TestModel(@org.jetbrains.annotations.NotNull()byte[] test) {    super();}public TestModel() {    super();}}我想删除:@org.jetbrains.annotations.NotNull()注释
查看完整描述

1 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

你不能。生成的 Java 代码工具显示类的 Java 代码是什么样的。因此,它将包含@Nullable 和@NotNull;它们是语言的核心部分。他们在那里处理空安全。

val x: String@NotNull public String x(需要初始化和分号有效,但您明白了)相同。您不能从编译后的代码中自动删除它们,除非您编写自己的编译器(但这会很痛苦)。

如果您因为注释而遇到问题,请改用 Java。注释不会添加到那里,您不会有任何问题。你需要混合语言,但它是为它设计的,所以你应该没问题。


查看完整回答
反对 回复 2021-09-03
  • 1 回答
  • 0 关注
  • 330 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信