zoukankan      html  css  js  c++  java
  • 【scala】可变参数

    Scala允许使用可变的参数列表。

    语法

      在声明的参数类型后边添加星号(*)

    示例

    object HelloWorld{
        def hello(args:String*): Unit ={
            for(arg <- args)
                println("hello "+arg)
        }
        def main(args:Array[String]): Unit ={
            hello("zhangyuhang","zhangqiuyue")
        }
    }
    

    结果

    hello zhangyuhang
    hello zhangqiuyue

    我们可以看到,我们在定义args参数的时候,后边注明了参数类型,在参数类型后边加了一个星号实现了可变参数。

    但是,我们并不能使用不同类型的可变参数,也就是说必须一个类型。

    实际上,String*  传入的参数会被构成一个Array[String]

    但是,我们在使用的时候必须要一个参数一个参数的传入,数量并没有限制。

    既然不是参数最终是个Arrary[String]类型嘛,那么我传入一个Array[String]类型参数可以嘛?

    不行,会报错的。

    val strArr = Array("zhangyuhang","zhangqiuyue");
    hello(strArr);//报错
    hello(strArr:_*);//正确,strArr:_* 表示把strArr内的元素逐个传入hello函数中

    我们在java中使用的可变参数要用到 ...  注意区分。

    public void hello(String... args){
            for(String arg:args)
                System.out.println("hello "+arg);
    }
    

      

  • 相关阅读:
    Git+GitHub+SaltStack
    系统运维
    Linux之Ubuntu
    TCP/IP 必知必会的十个问题
    Github常见操作和常见错误!
    Git钩子:自定义你的工作流
    Spring 梳理
    Spring 梳理
    Spring 梳理
    Spring boot 官网学习笔记
  • 原文地址:https://www.cnblogs.com/zzhangyuhang/p/9002061.html
Copyright © 2011-2022 走看看