【问题标题】:Creating a FloatArray from an Array<Float> object in Kotlin从 Kotlin 中的 Array<Float> 对象创建 FloatArray
【发布时间】:2021-09-02 03:04:43
【问题描述】:

我正在尝试使用扩展运算符将 Array 对象转换为 FloatArray:

val x = arrayOf(0.2f, 0.3f)
val y = floatArrayOf(*x)

不幸的是,我得到类型不匹配:inferred type is Array&lt;Float&gt; but FloatArray was expected

为什么会出现错误以及如何使其工作?

【问题讨论】:

    标签: arrays kotlin type-conversion


    【解决方案1】:

    你不能这样写,但你可以这样做:

    val y = x.toFloatArray()
    

    【讨论】:

      【解决方案2】:

      toFloatArray 是显而易见的选择,但如果出于某种原因您想创建一个新的浮点数组而不调用它,您可以在内部执行相同的操作:调用 FloatArray constructor:

      val x = arrayOf(0.2f, 0.3f)
      val y = FloatArray(x.size) { x[it] }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多