代码之家  ›  专栏  ›  技术社区  ›  mazzy

Kotlin:null和“重载解析歧义”

  •  3
  • mazzy  · 技术社区  · 7 年前

    我想从Kotlin调用一个重载的java函数。我想用一个 null 对于重载分辨率有重要意义的参数。

    如何指定 IntArray 类型 无效的 价值?

    我不喜欢另加一些普通类型的溶液。

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  7
  •   Roland    7 年前

    而不是一个变量,只要把它转换,即。 null as IntArray? ,例如:

    origImg.data.getSamples(0, 0, origImg.width, origImg.height, 0, null as IntArray?)
    

    注意,这与Java中的行为相同,在Java中还需要 null ,例如。 (int[]) null ,以调用适当的重载方法。

    您可以构建一个函数,该函数为您输入 无效的 (如果它还不存在)以一种神化的类型:

    inline fun <reified T>typedNull(): T? = null
    

    并称之为:

    typedNull<IntArray>()
    

    但话说回来, 一片空白? 我想已经很清楚了,人们已经知道了。

    推荐文章