是否可以为可变长度参数列表设置默认参数?
示例:
def foo(args: String*) = args.foreach(println)如何为args设置默认参数?
发布于 2012-09-02 01:35:03
不是的。如果你尝试,编译器会告诉你:
错误:带有‘*’参数的参数部分不允许具有默认参数
但是你也可以用方法重载来达到同样的效果:
class A {
def foo(args: String*): Unit = args.foreach(println)
def foo(): Unit = foo("A", "B", "C")
}下面是你提供参数的时候:
scala> (new A).foo("A", "B")
A
B下面是“默认设置”:
scala> (new A).foo()
A
B
Chttps://stackoverflow.com/questions/12229892
复制相似问题