Java 可变参数

2019-03-31  本文已影响0人  西安法律咨询服务平台与程序员

虽然从1.5中提供了Varargs(variable arguments)机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。但在平时编程过程中很少使用可变参数作为方法的参数,下面通过一个例子说明一下。

可变参数方法的定义

public int add(int... numbers){
  int sum = 0;
  for(int num : numbers){
    sum += num;
  }
  return sum;
}

但需要注意的是可变参数只能作为函数的最后一个参数,但其前面可以有也可以没有任何其他参数。

可变参数方法的调用

add();  // 不传参数
add(1);  // 传递一个参数
add(2,1);  // 传递多个参数
add(new Integer[] {1, 3, 2});  // 传递数组

另外《阿里巴巴Java开发手册》中OOP 规约的第3条中了给出了一些使用建议:
“【强制】相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object。 说明:可变参数必须放置在参数列表的最后。(提倡同学们尽量不用可变参数编程)
正例:public User getUsers(String type, Integer... ids) {...}”

上一篇下一篇

猜你喜欢

热点阅读