java中的三点参数
java5开始,java语言对方法参数支持的一种新写法,称为可变长度参数列表,接受的长度是0+个Object,或者是Object [],即Object数组。
如果既有test(String...strings)函数,又有test()函数,我们在调用test()时,会优先使用test()函数。只有当没有test()函数式,我们调用test(),程序才会走test(String...strings)。
public class Demo3PointParam {
private void test(String... strings) {
if (strings != null) {
for (int i = 0; i < strings.length; i++) {
System.out.println(String.format("三点参数的test函数的strings数据的第 %s 个参数是:%s ", String.valueOf(i), strings[i]));
}
} else {
System.out.println("数据不存在");
}
}
private void test2() {
System.out.println("执行无参函数test2");
}
private String test2(int... ints) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("三点参数的test2函数的数据是:");
if (ints != null) {
for (int i = 0; i < ints.length; i++) {
stringBuffer.append(String.valueOf(ints[i]));
}
}
return stringBuffer.toString();
}
public static void main(String[] args) {
Demo3PointParam demo = new Demo3PointParam();
demo.test();//可以使用,但不会输出任何数据
demo.test(null);//数据不存在
demo.test(new String[]{"111", "222", "333"});
demo.test("a", "b");
demo.test2();
System.out.println(demo.test2(null));
System.out.println(demo.test2(22));
System.out.println(demo.test2(33, 44, 55));
}
}
执行结果: