【发布时间】:2021-09-22 10:43:08
【问题描述】:
我是 scala 的新手,我在 repl 中写了这个
val xx = Array.ofDim [String](3,4)
xx: Array[Array[String]] = Array(Array(null, null, null, null), Array(null, null,
null, null), Array(null, null, null, null))
@ val yy = Array.ofDim [Int](3,4)
yy: Array[Array[Int]] = Array(Array(0, 0, 0, 0), Array(0, 0, 0, 0), Array(0, 0, 0, 0))
@ val ss = Array(xx, yy)
导致了这个
ss: Array[Array[_1] forSome { type _1 >: Array[Int] with Array[String] <: Array[_1] forSome { type _1 >: Int with String } }] = Array(
Array(Array(null, null, null, null), Array(null, null, null, null), Array(null, null, null, null)),
Array(Array(0, 0, 0, 0), Array(0, 0, 0, 0), Array(0, 0, 0, 0))
)
谁能解释一下这是什么意思
Array[_1] forSome { type _1 >: Array[Int] with Array[String] <: Array[_1] forSome { type _1 >: Int with String } }
特别是 >: .....<: .... scala>
干杯,
es
【问题讨论】:
-
由于
xx&yy有不同的类型,那么Array(xx, yy)将是一个不太有用的Array[Any],奇怪的类型是因为Array是不变的因此Array[Any]不会是合适的类型。 - 一般来说,不要使用Arrays并且不要混合类型,如果您是该语言的新手,您可能做错了什么,也许可以解释您要解决的元问题。另外,我邀请您加入官方 Scala Discord 服务器来提出此类问题。 -
@LuisMiguelMejíaSuárez 我刚刚开始学习 scala 并在玩弄它,感谢不和谐的提示
标签: scala