黑马程序员技术交流社区

标题: 关于可变参数的问题?还是有点迷惑 [打印本页]

作者: 孔斌    时间: 2013-1-31 15:53
标题: 关于可变参数的问题?还是有点迷惑
  1. public static void main(String[] args) throws Exception {
  2.                 String.class.getConstructor(StringBuffer.class);//jdk1.5新特性    可变参数是什么意思
  3.                 Constructor constructor1 = String.class.getConstructor(StringBuffer.class);
  4.                 String str = (String)constructor1.newInstance(new StringBuffer("abc"));
  5.         }
复制代码
这个可变参数这一块,还是不明白?
作者: 杨杨    时间: 2013-1-31 16:27
可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。

可变参数的特点:

(1)、只能出现在参数列表的最后;

(2)、...位于变量类型和变量名之间,前后有无空格都可以;

(3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数
public void getXXX(int x,int ...args){
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2