表达式返回List而不是Array

时间:2015-09-28 07:28:30

标签: scala

默认情况下执行 str.split(“\ |”)时会返回Array[string]。如何将返回类型设为List[String]而不是Array[string]。我可以使用toList转换为List。但是,我想知道是否可以在没有toList的情况下获得它。

scala> val str = "a|b|c"
str: String = a|b|c

scala> val arr = str.split("\\|")
arr: Array[String] = Array(a, b, c)

scala> val convList = arr.toList
convList: List[String] = List(a, b, c)

scala> val lis: List[String] = str.split("\\|")
<console>:11: error: type mismatch;
found   : Array[String]
required: List[String]
val lis: List[String] = str.split("\\|")

1 个答案:

答案 0 :(得分:1)

您可以实现隐式转换,然后分配将在没有类型错误的情况下工作;

implicit def arrayToList[A](arr: Array[A]) = arr.toList