Java 可变参数

可变参数:

 1 public class TestDemo {
 2 
 3     public static void main(String[] args) {
 4         // add传递不同数量的参数
 5         System.out.println(add(new int [] {1,2,3,4,5,6})) ;
 6         System.out.println(add(new int [] {232,3,45})) ;
 7     }
 8     /**
 9      * 实现任意多个的整形数据的相加操作
10      * @param data 由于要接收多个整形数据,所以使用数据形式完成接受
11      * @return 翻译多个整形数据的累加结果
12      */
13     public static int add(int [] data) {
14         int sum = 0 ;
15         for    (int x = 0 ; x < data.length ; x ++) {
16             sum += data[x] ;
17         }
18         return sum ;
19     }
20 }

 

上例程序实现的是一个方法接受不同长度的数据内容,并将内容值进行累加处理;之所以使用数组,是因为多个参数无法具体的描述,只可以用数组的方式来接收多个不定的参数。

 下述为定义可变参数方法的格式说明:

[public | protected | private]  [static]  [final] [abstract(抽象类)]  返回值类型  方法名称 (【参数类型 ... 变量】) { return [返回值] ;}

 

 使用可变参数方法定义更改后的代码如下:

public class TestDemo {

    public static void main(String[] args) {
        // 可变参数支持接收数组或者逗号区分不同的参数,最后接收的还是数组
        System.out.println(add(1,2,3,4,5,6)) ;
        System.out.println(add(232,3,45)) ;
    }
    /**
     * 实现任意多个的整形数据的相加操作
     * @param data 由于要接收多个整形数据,所以使用数据形式完成接受
     * @return 翻译多个整形数据的累加结果
     */
    public static int add( int ... data ) {
      // 可变参数接收后,就是一个数组
int sum = 0 ; for (int x = 0 ; x < data.length ; x ++) { sum += data[x] ; } return sum ; } }

 

 开发实际中,会要求参数的个数是准确的,往往是不会应用到开发上。

 小结:

  1、在设计一个类的时候,可变参数绝不是优先的选择

  2、可变参数属于数组的变形应用

 

posted @ 2019-05-22 00:21  Mirror王宇阳  阅读(257)  评论(0编辑  收藏  举报