gpt4 book ai didi

kotlin - 调用不接受来自 kotlin 的 null 的 java 代码

转载 作者:行者123 更新时间:2023-12-01 15:21:49 25 4
gpt4 key购买 nike

IDEA 社区 2017.1.2、JRE 1.8、Kotlin 1.1.2-2

我有 Java 方法,位于 libGdx 中,没有关于它们是否为空的任何注释,例如:

public void render (final RenderableProvider renderableProvider) {
renderableProvider.getRenderables(renderables, renderablesPool);

正如我们所见,参数不能为空。但是,由于没有任何迹象表明它不是非空参数,因此 Kotlin 会很乐意在 RenderableProvider? 中传递 null。我如何告诉 Kotlin 在编译时检查我应该传递 RenderableProvider 而不是 RenderableProvider?

我读过 external annotations ,但是没有“指定自定义 Kotlin 签名”,如果我将 renderableProvider 注释为 @NotNull 没有任何变化 - kotlin 仍然允许 null。

我什至尝试在 XML 中手动将 org.jetbrains.annotations.NotNull 替换为 javax.annotation.Nonnull,但这没有任何区别 - 代码编译和崩溃NPE.

最佳答案

外部注释是no longer supported .不幸的是,您要么不得不 fork libgdx 并在其中注释方法,要么忍受这个问题。

关于kotlin - 调用不接受来自 kotlin 的 null 的 java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43827706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com