gpt4 book ai didi

arrays - scala如何使用另一个不同类型数组的长度创建大小数组

转载 作者:行者123 更新时间:2023-12-02 05:14:59 25 4
gpt4 key购买 nike

我正在尝试使用另一个 Int 大小的数组创建一个 Char 数组。代码无法编译:

object Main {      
def main(args: Array[String]): Unit = {
val mapping = Map(1 -> "ABC", 2 -> "DEF")
val a = mapping.keySet.toArray
val c = Array[Char](a.length)
}
}

编译器抛出错误:“类型不匹配;发现:Int required:Char”

当我将上面的代码更改为:

val c = Array[Char](2) // no compiler error

看起来编译器不会将我的输入解释为大小参数,而是认为它是一个 Char,例如 Char 数组的初始元素

因为在java中这段代码可以毫无问题地编译,我想知道在 Scala 中使用另一个数组长度作为大小参数来初始化不同数组的正确方法是什么?

最佳答案

您应该在最后一行使用.ofDim

val c = Array.ofDim[Char](a.length)

第二个有效

val c = Array[Char](2)

因为编译器将 2 本身视为一个字符。

关于arrays - scala如何使用另一个不同类型数组的长度创建大小数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43881636/

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