关于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很是奇怪,没见过还有这种用法,真是孤陋寡闻了。

今天阅读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[] 相比, 不需要事先声明并构造一个对象数组的实例。

 

限制:

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

目录
相关文章
|
6月前
|
存储 算法 C++
【C++】:string用法详解
【C++】:string用法详解
131 0
|
11月前
|
C++
QString与string互相转换C++
QString与string互相转换C++
28 0
|
C语言 C++
C++ string 基本用法
C++ string 基本用法
|
存储 Java 索引
String 有长度限制吗?是多少?
String 类型的对象,他们是有长度限制的,String 对象并不能“存储”无限长度的字符串。关于 String 的长度限制要从编译时限制和运行时限制两方面考虑。
1054 0
|
C语言 C++
C++中string的用法
⭐一、string的简介 string的中文译为字符串,是C++在C语言中的char字符类型上的延伸。C++中封装有许多关于string的函数可以方便我们完成一些关于字符串的操作。而且string的空间大小是动态变化的,可以减小不必要空间的浪费。
202 0
|
Java
String字符串
在Java里面使用的是String作为字符串的定义。
89 0
String字符串
|
存储
String(字符串)
String(字符串)
82 0
|
存储
写出 String s = “hello“; 和 String s2 = new String(“world“);创建字符 串的区别
** 写出 String s = “hello”; 和 String s2 = new String(“world”);创建字符 串的区别。 **
190 0
写出 String s = “hello“; 和 String s2 = new String(“world“);创建字符 串的区别
|
Java 开发者
String字符串| 学习笔记
快速学习String字符串
String字符串| 学习笔记