gpt4 book ai didi

java - 编码风格 : function call with typed null

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:32:43 24 4
gpt4 key购买 nike

例如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)

发出“此转换永远不会成功”的警告。

有没有一种方法可以让编译器完全满意地调用该函数?

最佳答案

“此转换永远不会成功”指的是 IntArray 不是可空类型,因此尝试将 null 转换为 IntArray 总是会失败。

由于 java 引用类型总是可以为 null,我希望 kotlin 将 int[] 视为 IntArray?(至少,在没有 @Nonnull 注解),所以 null as IntArray? 就是你想要的。

例如

val pixel = raster.getPixel(1, 2, null as IntArray?)

关于java - 编码风格 : function call with typed null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50614778/

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