gpt4 book ai didi

java - scala.Array[Long] 不符合预期类型 scala.Array[java.lang.Long]

转载 作者:行者123 更新时间:2023-11-30 02:14:12 27 4
gpt4 key购买 nike

我想将 java 代码与一些 scala 代码混合在一起,但是当尝试将 strs 转换为长数组时,发生了错误。这是我的代码示例:

val idsStr:String = "1,2,3";
val ids:Array[java.lang.Long] = idsStr.split(",").map(s=>java.lang.Long.parseLong(s))

和错误消息:

Error:(11, 58) type mismatch;
found : Array[scala.Long]
required: Array[java.lang.Long]
val ids:Array[java.lang.Long] = idsStr.split(",").map(s=>java.lang.Long.parseLong(s))

提前致谢。

最佳答案

使用java.lang.Long.parseLong不会以任何方式帮助您获得java.lang.Long,因为parseLong > 是一个静态辅助方法,它返回一个原始(未包装)long。因此,对于解析,您也可以使用Scala的.toLong

您需要的是强制转换java.lang.Long,以强制自动装箱:

val idsStr:String = "1,2,3";
val ids: Array[java.lang.Long] =
idsStr.split(",").map(_.toLong.asInstanceOf[java.lang.Long])

或者,您可以使用 java.lang.Long 的构造函数之一:

val ids2: Array[java.lang.Long] = 
idsStr.split(",").map(str => new java.lang.Long(str.toLong))

val ids3: Array[java.lang.Long] =
idsStr.split(",").map(str => new java.lang.Long(str))

关于java - scala.Array[Long] 不符合预期类型 scala.Array[java.lang.Long],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49108746/

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