zoukankan      html  css  js  c++  java
  • 关于String 后面跟省略号。。。

    今天阅读MonkeyRunner源码的时候发现下面一段:

    private String shell(String... args) {
            StringBuilder cmd = new StringBuilder();
            for (String arg : args) {
                cmd.append(arg).append(" ");
            }
            return shell(cmd.toString());
        }

    其中的String... args很是奇怪,没见过还有这种用法,真是孤陋寡闻了。。。。网上查了下这个叫做可变长参数!

    顾名思义就是可以传入的字符串参数个数不固定,可以是1-n, 例如可以这样调用这个方法: 

    shell(“arg1”); 

    shell(“arg1”,“arg2”);

    shell(“arg1”,“arg2”,“arg3”,“arg4”,“arg5”);等

    其实际上与shell(String[] args){...} 类似,在函数内部args就是被理解为一个String[]类型的字符串数组。

    这样做的好处:

        不用为了实现传入不同个数的参数多次重载这个方法。

        与使用Object[] 相比, 不需要事先声明并构造一个对象数组的实例。

    限制:

      只能作为方法的最后一个参数,且只能有一个

  • 相关阅读:
    053-649
    053-648
    053-647
    053-646
    053-645
    053-644
    053-643
    053-642
    053-641
    053-640
  • 原文地址:https://www.cnblogs.com/AloneSword/p/4108663.html
Copyright © 2011-2022 走看看