Scala App args不能成为val

时间:2017-11-22 15:22:37

标签: scala

我有以下Scala 2.12.x代码:

object Myapp extends App {
  val bootstrapper = new Bootstrapper()
  val config = bootstrapper.bootstrap(args)
}

class Bootstrapper {
  def bootstrap(val args : Array[String]) : Config = {
    null
  }
}

以上导致Bootstrapper课程内部出现编译错误,抱怨argsval

identifier expected but 'val' found.

当我将val args : Array[String]更改为args : Array[String]时,编译器错误就会消失。的为什么吗

1 个答案:

答案 0 :(得分:4)

在Scala方法中,参数始终是val,与Java中不同,您必须将它们明确标记为final。这就是将方法参数标记为val不属于语法的原因。