5-5 可变参数的方法
import java.io.PrintStream; public class ParamVaO { /** * @author:lixh */ public static void main(String[] args) { // TODO Auto-generated method stub double[] a = new double[]{3.1,4.5,1.1}; getMax(3.1,4.5,1.1); getMax(a); } /** * 参数变量可变的方法 * * System.out.printf(format, args); * 源码 * public PrintStream printf(String format, Object ... args) { * return format(format, args); * } * 对于方法printf来说 Object ... args 与 Object[] args 一样 * 编译器对每次的调用进行转换,以便将参数绑定到数组上,并在必要时候进行自动装箱 * * * * getMax(3.1,4.5,1.1); * 编译器将new double[]{3.1,4.5,1.1};传递给方法getMax * * 参数可变变量必须放到最后一位 public static double getMax(double ... arg,String string){}报错 * * 可以将最后一个参数是数组方法重新定义成可变参数的方法,而且不会破坏已经存在的代码 */ public static double getMax(double ... arg){ double Max = 0.0d; for (double d : arg) { if (Max<d) { Max = d; } } return Max; } /*public static double getMax(double[] arg){ double Max = 0.0d; for (double d : arg) { if (Max<d) { Max = d; } } return Max; } */ }