scala:可变长参数和:_*符号

本文深入探讨了Scala中可变参数的使用方法,包括如何定义和调用可变参数函数,解释了:_*符号的含义及其在传递序列类型参数时的作用。
定义一个可变参数的函数

可变的参数只能是函数最后一个参数,而且参数类型要一致。

def f(nums: Int*){
    println(nums.getClass)
    for(i <- nums){
        println(i)
    }
}
// f: (nums: Int*)Unit
调用函数
scala> f()
class scala.collection.immutable.Nil$

scala> f(1)
class scala.collection.mutable.WrappedArray$ofInt
1

scala> f(1, 2)
class scala.collection.mutable.WrappedArray$ofInt
1
2
:_*符号

a: A是类型归属,意思是a的类型为A。
:_ *是类型归属的一个特殊实例,它告诉编译器将一个序列类型的单个参数当作可变参数序列。

scala> f(Array(1,2):_*)
class scala.collection.mutable.WrappedArray$ofInt
1
2
//f(Array(1,2):_*)的意思就是将Array(1,2)当作其元素类型(Int类型)的可变参数序列。

转载于:https://www.cnblogs.com/xuejianbest/p/10285083.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值