`

Java 1.5 特性之一:可变长度的参数功能

    博客分类:
  • java
阅读更多

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

分享到:
评论

相关推荐

    JAVA 1.5 API 文档

    1. **泛型(Generics)**:这是Java 1.5最重要的特性之一,允许在定义类、接口和方法时使用类型参数,提高了代码的类型安全性,减少了类型转换错误。例如,List<String> 表示一个只包含字符串的列表。 2. **枚举...

    JAVA API1.5中文文档

    Java API 1.5,也被称为Java SE 5.0(Java Standard Edition 5.0),是Java发展历程中的一个重要里程碑,引入了许多创新特性和改进,为开发者提供了更强大的工具和功能。这个API文档包含了Java语言的全面参考资料,...

    java JDK1.5---32位和64位

    4. **变量注解(Varargs)**:允许在方法参数列表中使用省略号(...),表示可变长度的参数,简化了传递多个参数的操作。 5. **增强的for循环(Enhanced For Loop)**:也被称为foreach循环,简化了遍历数组和集合...

    JDK1.5版本,用于java开发

    4. **变量长度数组(Varargs)**:在JDK1.5中,开发者可以在方法声明中使用`...`来表示可变长度的参数列表。这样,调用方法时可以传入任意数量的同一类型的参数。 5. **增强的for循环(For-Each Loop)**:也称为...

    ibm jdk1.5 fou linux

    4. **变长参数(Varargs)**:在方法声明中,可以使用省略号(...)表示可变长度的参数列表,提高了函数调用的灵活性。 5. **增强的for循环(Enhanced For Loop)**:也称为foreach循环,可以更简洁地遍历数组和...

    java 开发jdk1.5

    JDK 1.5引入了可变参数(Variable-Length Argument Lists,简称varargs),允许在方法声明中使用三个点(...)来表示可以接受任意数量的同一类型的参数。这在编写函数时非常有用,例如打印任意数量的整数: ```java...

    JDK1.5 中文版文档.rar

    7. **变长参数(Varargs)**: 允许方法接收一个可变长度的参数列表,这在编写函数式编程风格的代码时特别有用。 8. **NIO.2(New I/O 2)**: 虽然JDK1.5引入的是NIO(New I/O),但NIO.2在后续版本中进行了扩展,...

    JDK 1.5 for Windows

    7. **可变参数(Varargs)**:允许方法接收一个可变长度的参数列表,例如`void print(int... numbers)`。 8. **注解(Annotations)**:注解为元数据提供了一种机制,可以用于编译时检查或运行时处理。例如,`@...

    JDK1.5 JAVA

    此外,JDK1.5还引入了变量长度参数(varargs)和可变参数列表,使得函数可以接受任意数量的同类型参数,简化了方法调用。例如,现在可以方便地定义一个接收任意数量整数的函数。 在编程实践中,JDK1.5通过增强的for...

    java_jdk 官方版64位 1.5+1.6

    - **可变参数(Varargs)**: 在方法声明中,允许使用三个点(...)表示可变长度的参数列表。 - **增强的for循环(For-Each Loop)**: 提供了一种更简洁的遍历集合和数组的方式。 - **注解(Annotations)**: 注解...

    java_API中文1.6,1.5

    5. **变量args**:在方法声明中,可以用`...`来接受不定数量的参数,简化了处理可变长度参数的方法。 6. **foreach循环(Enhanced for loop)**:增强了for循环,可以方便地遍历数组和集合。 7. **类型安全的异构...

    jdk jdk1.5 windows系统

    9. **可变参数方法(Varargs Methods)**:允许方法接收不定数量的参数,这些参数会被包装到一个数组中。 10. **NIO.2(New IO 2.0)**:虽然不是JDK1.5的一部分,但在后续的Java版本中,NIO(非阻塞I/O)进行了...

    Java Varargs 可变参数用法详解

    Java Varargs(可变参数)是Java 1.5版本引入的一个特性,允许开发者在编写方法时可以接受任意数量的参数。Varargs是variable arguments的缩写,即变参,有时也简称为variable arguments。可变参数使得方法能够接受...

    java api 资源

    4. **变量args**:Java 1.5引入了可变长度参数列表,允许方法接收任意数量的相同类型的参数。这通过在方法签名中使用`...`操作符实现,例如`public void printNumbers(int... numbers)`。 5. **增强的for循环**...

    JDK1.5的32位和64位安装包

    此外,JDK1.5还引入了变长参数(Varargs)功能,允许在方法声明中使用三个点(...)表示可变长度的参数列表。这使得创建接受任意数量相同类型参数的方法变得更加简单。 在类型系统方面,JDK1.5引入了增强的for循环...

    JDK1.5的源代码

    变长参数允许在方法定义中使用三个点(...)表示一个可变长度的参数列表。这使得调用方法时,可以传入任意个数的相同类型的参数。 5. **增强的for循环(Enhanced For Loop)** 也称为foreach循环,它简化了遍历...

    jdk1.5专用包

    可变参数允许在方法签名中使用三个点(...)表示一个可变长度的参数列表。这使得方法能够接受任意数量的同一类型的参数,提高了函数的灵活性。 6. **类型安全的异构容器(Type-Safe Heterogeneous Containers)** ...

    jdk1.5绿色版

    4. **变长参数(Varargs)**:允许在方法声明中使用省略号“...”,表示可变长度的参数列表,提高了函数调用的灵活性。 5. **增强的for循环(Enhanced For Loop)**:也称为foreach循环,简化了遍历数组和集合的...

    JDK1.5.0.06 32位

    4. **变量args**:在main方法的参数列表中,可以使用`public static void main(String[] args)`,其中args是一个可变长度的字符串数组,方便接收命令行参数。 5. **for-each循环**:也称为增强for循环,简化了遍历...

    JDK1.5 API完整版

    在方法签名中使用`...`作为参数表示可变长度的参数列表。这种语法简化了传递数组或零个到多个相同类型的参数的代码,提高了代码的灵活性。 5. **静态导入(Static Import)** 静态导入允许开发者直接引用类的静态...

Global site tag (gtag.js) - Google Analytics