JAVA类型后面跟3个点(可变长度参数列表)
2017-09-21 10:03
411 查看
AVA1.5支持了一种新的参数类型–可变长度参数列表,格式是类型后面加…,例如String…、Object…等
这个和我们熟知的Object[]数组参数有些区别,且更加方便灵活些,下面简单介绍下:
先写一个熟知的传统数组参数方法
在调用printParam时,我们无论如何都要传递一个String类型的数组过去,然而我们在工作时有时候会遇到需要这个方法,但是确实又没必要传递所有参数,
如同上面例子,我可能只需要传递int类型参数,但是String[]参数我并没有,这样我任然要传递一个空的String[]否则会报错。所以这种参数很死板,用起来不方便。
但是Stirng…就不需要这么麻烦了,看下面这个方法:
这里我们可以随意调用,有不带参数的printParams(),而且不报错,另外他还支持2种不同的写法可以多个Stirng的传递,也可以单个String[]数组的传递
这位我们提供了很大的方便。
这里需要注意的是:
一个类里面如果有了printParams(String… str)方法,就不能存在printParams(String[] str)方法,但是可以存在printParams()方法。
而且如果我们执行printParams()方法时,会优先查找printParams()方法,只有在printParams()方法不存在的时候才会去找printParams(String… str)方法
原地址:http://blog.sina.com.cn/s/blog_4550f3ca0101hus7.html
这个和我们熟知的Object[]数组参数有些区别,且更加方便灵活些,下面简单介绍下:
先写一个熟知的传统数组参数方法
public class Param { public static void printParam(int i,String[] str){ if(str.length == 0){ System.out.println("无参数的printParams()方法"); } else{ for (String string : str) { System.out.println("带参的printParams("+string+")方法"); } } } public static void main(String[] args) { printParam(2,new String[]{"A","B","C"}); } }
在调用printParam时,我们无论如何都要传递一个String类型的数组过去,然而我们在工作时有时候会遇到需要这个方法,但是确实又没必要传递所有参数,
如同上面例子,我可能只需要传递int类型参数,但是String[]参数我并没有,这样我任然要传递一个空的String[]否则会报错。所以这种参数很死板,用起来不方便。
但是Stirng…就不需要这么麻烦了,看下面这个方法:
public class Params { public static void printParams(String... str){ if(str.length == 0){ System.out.println("无参数的printParams()方法"); } else{ for (String string : str) { System.out.println("带参的printParams("+string+")方法"); } } } public static void main(String[] args) { printParams(); printParams("a","b","c"); printParams(new String[]{"A","B","C"}); } }
这里我们可以随意调用,有不带参数的printParams(),而且不报错,另外他还支持2种不同的写法可以多个Stirng的传递,也可以单个String[]数组的传递
这位我们提供了很大的方便。
这里需要注意的是:
一个类里面如果有了printParams(String… str)方法,就不能存在printParams(String[] str)方法,但是可以存在printParams()方法。
而且如果我们执行printParams()方法时,会优先查找printParams()方法,只有在printParams()方法不存在的时候才会去找printParams(String… str)方法
原地址:http://blog.sina.com.cn/s/blog_4550f3ca0101hus7.html
相关文章推荐
- JAVA类型后面跟3个点(可变长度参数列表)
- java类型后面加三个点——可变长度参数列表
- java函数参数后面加三个点——可变长度参数列表
- Python中函数参数(默认、列表、可变长度、字典类型)
- java语言基础(33)——面向对象(父类中没有无参构造编译报错——无法将类 xxx中的构造器 xxx应用到给定类型 实际参数列表和形式参数列表长度不同)
- java动态参数列表即可变参数【可变的参数类型,也称为不定参数类型。英文缩写是varargus,还原一下就是variable argument type。】
- c#基础之长度可变类型相同的参数列表
- c#基础之长度可变类型相同的参数列表
- Java基本数据类型数组与可变长度参数
- Java方法的可变参数类型
- JAVA 可变长度的参数
- java基础(九) 可变参数列表介绍
- C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举
- C#与Java对比学习:数据类型、集合类、栈与队列、迭达、可变参数、枚举
- Java高新技术1---增强for循环 ---装箱与拆箱享元设计模式--自己写枚举--可变长度的参数
- 深入了解JAVA可变长度的参数(Varargs)
- Java 1.5 特性之一:可变长度的参数功能
- Java语法糖系列之可变长度参数和foreach循环
- Java方法的可变参数类型
- java 可变参数列表