Scala将字符串数组转换为整数列表

Azm*_*aik 0 scala

如何使用val将字符串数组转换为整数列表。我正在使用下面的代码来做到这一点

object ArraytoListobj {
  def main(args :Array[String]) {
    val intList :List[Int] =  args.toList
    println(intList)
  } 
}
Run Code Online (Sandbox Code Playgroud)

尝试编译程序时,出现错误。

  scala:3:  error: type mismatch;
  found   : List[String]
  required: List[Int]
  val intList :List[Int] =  args.toList
one error found
Run Code Online (Sandbox Code Playgroud)

Yuv*_*kov 6

编辑:

从 Scala 2.13.0 开始,您可以编写:

val listOfInts: List[Int] = args.flatMap(_.toIntOption) 
Run Code Online (Sandbox Code Playgroud)

对于 Scala < 2.13

如果要转换并丢弃任何不Int匹配的字符串:

val listOfInts: List[Int] = args.flatMap(i => Try(i.toInt).toOption).toList
Run Code Online (Sandbox Code Playgroud)


Ram*_*hra 6

如果您确定args中的所有元素都是Int,则可以这样做。

val strToInt = args.map(_.toInt).toList
println(strToInt)
Run Code Online (Sandbox Code Playgroud)