Scala 在数组之后使用“*”表示什么?
我一直在编写一些scala代码,我遇到了在数组后面使用的*,如以下参数:*Scala 在数组之后使用“*”表示什么?,scala,Scala,我一直在编写一些scala代码,我遇到了在数组后面使用的*,如以下参数:* 有人能告诉我它的含义吗?您可以定义一个接受可变数量参数的函数,如: def print(args: String*) { elements.foreach(println) } 您可以使用多个参数调用此函数: print("a") print("a","b") 或者,如果您有一个序列,您可以使用列表调用它,但在这种情况下,您需要使用*语法来显示序列,而不是将其作为单个参数传递 val l = List("a","
有人能告诉我它的含义吗?您可以定义一个接受可变数量参数的函数,如:
def print(args: String*) {
elements.foreach(println)
}
您可以使用多个参数调用此函数:
print("a")
print("a","b")
或者,如果您有一个序列,您可以使用列表调用它,但在这种情况下,您需要使用*语法来显示序列,而不是将其作为单个参数传递
val l = List("a","b")
print(l: _*)
您可以定义一个接受可变数量参数的函数,如:
def print(args: String*) {
elements.foreach(println)
}
您可以使用多个参数调用此函数:
print("a")
print("a","b")
或者,如果您有一个序列,您可以使用列表调用它,但在这种情况下,您需要使用*语法来显示序列,而不是将其作为单个参数传递
val l = List("a","b")
print(l: _*)
根据scala文档,这意味着vararg扩展。 Java中的Vararg是在Java1.5中添加的,这样在方法的参数数量未知时可以使用它 关于vararg的一些要点:
-每次调用方法时都会创建匿名数组,这增加了时间复杂性。所以,如果方法调用在大多数情况下产生1或2个参数,则更喜欢重载而不是使用vararg 根据scala文档,这意味着vararg扩展。 Java中的Vararg是在Java1.5中添加的,这样在方法的参数数量未知时可以使用它 关于vararg的一些要点:
-每次调用方法时都会创建匿名数组,这增加了时间复杂性。所以,如果方法调用在大多数情况下产生1或2个参数,则更喜欢重载而不是使用vararg 谢谢,这很有道理谢谢,这很有道理