方法参数String*
和Array[String]
之间是否有区别?Scala:方法参数String *和Array [String]之间是否有区别
控制台:
scala> def main(args: Array[String]): Unit = {}
main: (args: Array[String])Unit
scala> def main(args: String*): Unit = {}
main: (args: String*)Unit
代码1:
object Example {
def main(args: Array[String]): Unit = {
println("Hello")
}
}
>> Hello
代码2:
object Example {
def main(args: String*): Unit = {
println("Hello")
}
}
>> Exception in thread "main" java.lang.NoSuchMethodException: Example.main([Ljava.lang.String;)
at java.lang.Class.getMethod(Class.java:1786)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:126)
[如何将scala数组传递给scala可变参数方法?](https://stackoverflow.com/questions/31064753/how-to-pass-scala-array-into-scala-vararg-method) – prayagupd