首页 > 解决方案 > 在kotlin中调用Java函数时输入参数类型错误

问题描述

如果我在 Java 中定义了这样的函数:

private void runInference(float[][][][] input, float[][][][] output){
  //body
}

当我在kotlin中调用它时,接口的输入参数类型变为:

Array<Array<Array<FloatArray!>!>!>

我检查了 Kotlin 文档,发现 FloatArray 的 Float 成员是 NonNull。但是我需要四维数组的成员可以作为输入参数为空,例如

Array<Array<Array<Array<Float?>>>>.

有什么办法吗?请给我一些建议或想法。谢谢!

标签: kotlin

解决方案


如果你想让这些字段可以为空,那么你将不得不像这样Array<Array<Array<FloatArray?>?>?>。这也将接受空值。


推荐阅读