Java 可变参数列表

Java SE5添加了可变参数列表特性

参数可以这样定义,(Object…args)。可变参数用"..."来定义,args是可变参数的数组。举个例子:

package sample;
 
class A{}
 
public class NewVarArgs {
      static void printArray(Object...args){
              for(Object obj:args)
                    System.out.print(obj+" ");
              System.out.println();
      }
 
      public static void main(String[] args){
              printArray(new Integer(47),new Float(3.14),new Double(11.11));
              printArray(47,
              printArray("one","two","three");
              printArray(new A(),new A(),new A());
              printArray((Object[])new Integer[]{1,2,3,4});
              printArray();
      }
}

输出结果为:

47 3.14 11.11
47 3.14 11.11
one two three
sample.A@a90653 sample.A@de6ced sample.A@c17164
1 2 3 4

当指定可变参数后,对于给定的可变参数实参,编译器会用这些实参去填充一个参数数组。这就是为什么args可以用foreach去遍历。但如果传入的参数本身就是一个数组时,编译器将接受这个数组作为可变参数列表,而不再为其外层包装为一个新的数组。

Java中介者设计模式

Java 设计模式之模板方法开发中应用

设计模式之 Java 中的单例模式(Singleton)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/693037bceccf8becedecec44f3c72a3d.html