我需要@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。注释不会添加到那里,您不会有任何问题。你需要混合语言,但它是为它设计的,所以你应该没问题。
添加回答
举报
0/150
提交
取消