美文网首页
Java 可变参数

Java 可变参数

作者: 西安法律咨询服务平台与程序员 | 来源:发表于2019-03-31 19:25 被阅读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) {...}”

    相关文章

      网友评论

          本文标题:Java 可变参数

          本文链接:https://www.haomeiwen.com/subject/carubqtx.html