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
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1809188
引用自:http://www.builder.com.cn/2007/1003/534332.shtml
分享到:
相关推荐
1. **泛型(Generics)**:这是Java 1.5最重要的特性之一,允许在定义类、接口和方法时使用类型参数,提高了代码的类型安全性,减少了类型转换错误。例如,List<String> 表示一个只包含字符串的列表。 2. **枚举...
Java API 1.5,也被称为Java SE 5.0(Java Standard Edition 5.0),是Java发展历程中的一个重要里程碑,引入了许多创新特性和改进,为开发者提供了更强大的工具和功能。这个API文档包含了Java语言的全面参考资料,...
4. **变量注解(Varargs)**:允许在方法参数列表中使用省略号(...),表示可变长度的参数,简化了传递多个参数的操作。 5. **增强的for循环(Enhanced For Loop)**:也被称为foreach循环,简化了遍历数组和集合...
4. **变量长度数组(Varargs)**:在JDK1.5中,开发者可以在方法声明中使用`...`来表示可变长度的参数列表。这样,调用方法时可以传入任意数量的同一类型的参数。 5. **增强的for循环(For-Each Loop)**:也称为...
4. **变长参数(Varargs)**:在方法声明中,可以使用省略号(...)表示可变长度的参数列表,提高了函数调用的灵活性。 5. **增强的for循环(Enhanced For Loop)**:也称为foreach循环,可以更简洁地遍历数组和...
JDK 1.5引入了可变参数(Variable-Length Argument Lists,简称varargs),允许在方法声明中使用三个点(...)来表示可以接受任意数量的同一类型的参数。这在编写函数时非常有用,例如打印任意数量的整数: ```java...
7. **变长参数(Varargs)**: 允许方法接收一个可变长度的参数列表,这在编写函数式编程风格的代码时特别有用。 8. **NIO.2(New I/O 2)**: 虽然JDK1.5引入的是NIO(New I/O),但NIO.2在后续版本中进行了扩展,...
7. **可变参数(Varargs)**:允许方法接收一个可变长度的参数列表,例如`void print(int... numbers)`。 8. **注解(Annotations)**:注解为元数据提供了一种机制,可以用于编译时检查或运行时处理。例如,`@...
此外,JDK1.5还引入了变量长度参数(varargs)和可变参数列表,使得函数可以接受任意数量的同类型参数,简化了方法调用。例如,现在可以方便地定义一个接收任意数量整数的函数。 在编程实践中,JDK1.5通过增强的for...
- **可变参数(Varargs)**: 在方法声明中,允许使用三个点(...)表示可变长度的参数列表。 - **增强的for循环(For-Each Loop)**: 提供了一种更简洁的遍历集合和数组的方式。 - **注解(Annotations)**: 注解...
5. **变量args**:在方法声明中,可以用`...`来接受不定数量的参数,简化了处理可变长度参数的方法。 6. **foreach循环(Enhanced for loop)**:增强了for循环,可以方便地遍历数组和集合。 7. **类型安全的异构...
9. **可变参数方法(Varargs Methods)**:允许方法接收不定数量的参数,这些参数会被包装到一个数组中。 10. **NIO.2(New IO 2.0)**:虽然不是JDK1.5的一部分,但在后续的Java版本中,NIO(非阻塞I/O)进行了...
Java Varargs(可变参数)是Java 1.5版本引入的一个特性,允许开发者在编写方法时可以接受任意数量的参数。Varargs是variable arguments的缩写,即变参,有时也简称为variable arguments。可变参数使得方法能够接受...
4. **变量args**:Java 1.5引入了可变长度参数列表,允许方法接收任意数量的相同类型的参数。这通过在方法签名中使用`...`操作符实现,例如`public void printNumbers(int... numbers)`。 5. **增强的for循环**...
此外,JDK1.5还引入了变长参数(Varargs)功能,允许在方法声明中使用三个点(...)表示可变长度的参数列表。这使得创建接受任意数量相同类型参数的方法变得更加简单。 在类型系统方面,JDK1.5引入了增强的for循环...
变长参数允许在方法定义中使用三个点(...)表示一个可变长度的参数列表。这使得调用方法时,可以传入任意个数的相同类型的参数。 5. **增强的for循环(Enhanced For Loop)** 也称为foreach循环,它简化了遍历...
可变参数允许在方法签名中使用三个点(...)表示一个可变长度的参数列表。这使得方法能够接受任意数量的同一类型的参数,提高了函数的灵活性。 6. **类型安全的异构容器(Type-Safe Heterogeneous Containers)** ...
4. **变长参数(Varargs)**:允许在方法声明中使用省略号“...”,表示可变长度的参数列表,提高了函数调用的灵活性。 5. **增强的for循环(Enhanced For Loop)**:也称为foreach循环,简化了遍历数组和集合的...
4. **变量args**:在main方法的参数列表中,可以使用`public static void main(String[] args)`,其中args是一个可变长度的字符串数组,方便接收命令行参数。 5. **for-each循环**:也称为增强for循环,简化了遍历...
在方法签名中使用`...`作为参数表示可变长度的参数列表。这种语法简化了传递数组或零个到多个相同类型的参数的代码,提高了代码的灵活性。 5. **静态导入(Static Import)** 静态导入允许开发者直接引用类的静态...