首页 > 代码库 > 关于String 后面跟省略号。。。
关于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[] 相比, 不需要事先声明并构造一个对象数组的实例。
限制:
只能作为方法的最后一个参数,且只能有一个
关于String 后面跟省略号。。。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。