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

 

 

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值