Java1.5新功能可变长方法参数-varargs
Java1.5提供了一个叫varargs的新功能,就是可变长度的参数。 在以前的JDK版本中,对象中一个方法的入参个数在写好后就是固定的,而varargs提供了可变长度的功能,有点类似于main方法的参数String[] args,我们在命令行运行时args可数是可变的。 使用varargs写法是这样的 public Guitar(String builder, String model, String... features); 用省略号...声明features为可变长度的参数。 你申明如下方法 public Guitar(String builder, String model, String... features) 编译时将被解释为: public Guitar(String builder, String model, String[] features) 但是他是有一些限制的.首先你在一个方法中只能使用一个省略号定义,也就是只能定义一个可变长的参数。 下面的定义是不合法的 public Guitar(String builder, String model, String... features, float... stringHeights) 我们可以用下面的方法取得可变长参数: public Guitar(String builder, String model,GuitarWood backSidesWood, GuitarWood topWood, float nutWidth,GuitarInlay fretboardInlay, GuitarInlay topInlay,String... features) { this.builder = builder; this.model = model; this.backSidesWood = backSidesWood; this.topWood = topWood; this.nutWidth = nutWidth; this.fretboardInlay = fretboardInlay; this.topInlay = topInlay; for (String feature : features) { System.out.println(feature); } } 我们也可以这样获取可变长参数值,把features直接赋给String[],或者其他集合类型 // Variable declaration private List features; // Assignment in method or constructor body this.features = java.util.Arrays.asList(features); 以上内容摘自: http://www.onjava.com/pub/a/onjava/excerpt/javaadn_chap5/index.html http://www.onjava.com/catalog/javaadn/excerpt/javaadn_ch05.pdf |