E.g。 Java类java.awt.image.Raster
有多个重载方法,比如
double[] getPixel(int x, int y, double[] dArray)
float[] getPixel(int x, int y, float[] fArray)
int[] getPixel(int x, int y, int[] iArray)
允许用null
作为数组调用方法,但如何在Kotlin中正确执行?
val pixel = raster.getPixel(1, 2, null)
由于含糊不清而失败
val pixel = raster.getPixel(1, 2, null as IntArray)
发出警告“此演员阵容永远不会成功”。
有没有办法调用函数,以便它完全取悦编译器?
答案 0 :(得分:3)
"这个演员阵容永远不会成功"指的是IntArray不是可空类型的事实,因此尝试将null转换为IntArray总是会失败。
由于java引用类型总是为null,我希望kotlin将int[]
视为IntArray?
(至少在没有@Nonnull
注释的情况下),等等null as IntArray?
就是你想要的。
e.g。
val pixel = raster.getPixel(1, 2, null as IntArray?)