[J2SE 5.0专题][2.5]可变长度参数

80酷酷网    80kuku.com

  j2se顾名思义,可变长度参数就是指在方法的参数体中,只要定义恰当,我们可以使用任意数量的参数,类似于使用对象数组。在J2SE 5.0中,一个新的语法被引入,就是在参数类型名称后面加上 ... ,表示该方法可以接受多个该类型的参数。需要说明的是可变长度参数必须放在参数列表的最后,且一个方法只能包含一个这样的参数。

需要注意的是,这个语法只是在声明一个方法的时候管用,真正当我们具体实现这个方法时,我们通常都不这么写,因为这样写的话在方法体内该参数仅仅被当作一个Object,并不能通过这个Object的方法调用获取有意义的对象数组。所以通常我们都是在声明一个方法时使用 ... 这样的语法,而在具体实现时使用数组。编译器会处理这种差异,把它们当作相同的方法签名。看下面的例子:

interface ITestVarargs {
public void vararg(Object... args);
}

class MyVarargs implements ITestVarargs {
public void vararg(Object[] args) {
// ...
}
}

在J2SE 5.0中,还有一个很重要的新特性是基于可变长度参数的,那就是格式化输出,我会在稍后的专题作更详细地说明。

有关可变长度参数的更详细说明,参考这里。




分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: