A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hjg8858 中级黑马   /  2014-11-15 18:23  /  746 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天学习的时候发现public static int add(int x,int ...args)不知道int...是啥意思,现在分享下什么叫可变参数。
Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。

可变参数的特点:

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

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

(3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。

public class Varable {
public static void main(String [] args){
  System.out.println(add(2,3));
  System.out.println(add(2,3,5));
}
public static int add(int x,int ...args){
  int sum=x;
  for(int i=0;i<args.length;i++){
   sum+=args;
  }
  return sum;
}
}
明白了吗?

2 个回复

倒序浏览
沙发~~~~~
回复 使用道具 举报
注意一点:
可变参数型参数列表,当传入的是数组型参数,并且数组元素类型是基本数据类型,不会把数组进行拆分运算,而是把整个数组作为函数的一个参数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马