JDK5新特性:可变参数方法

JDK1.5增加可变参方法,其定义格式为:
  访问修饰符 返回值类型 方法标识符(参数类型 参数标识符1,参数类型 参数标识符2,参数类型...参数标识符){}
  如可能要定义一个求和功能的方法,但求和的数不确定,这时就可以采用可变参数的方法来完成这个功能。

package cn.dolphin.io;



import java.util.List;

import java.util.Arrays;



public class UnsureFunc {

    public static void main(String[] args) {

        //JDK1.5后增加可变参方法,用来解决类似于下面这样参数不确定的情况。

        System.out.println(superSum(1));

        System.out.println(superSum(1,2));

        System.out.println(superSum(1,2,3));

        System.out.println(superSum(1,2,3,4));

        System.out.println(superSum(1,2,3,4,5));

        //同样,可以在API中看到这样一个方法。

        String[] arr = new String[]{"Hello","Java"};

        List<String> list = Arrays.asList(arr);

        list.set(1, "World");

        for (String s : list) {

            //底层把这样的参数作为数组处理。

            System.out.println(s);

        }

        //Arrays工具类中的asList方法,就是可变参方法。

        //注意这样的List是不能添加删除元素的,但是可以改变其值。

        //另外得注意:有其他参数时,可变参就放在最后。如:

        System.out.println(superSum("HelloJava",1,2,3));

        System.out.println(superSum("HelloWorld",1,2,3,4,5));

    }

    

    static int superSum(int...i){

        int sum = 0;

        for (int j = 0; j < i.length; j++) {

            sum += i[j];

        }

        return sum;

    }

    

    static int superSum(String str,int...i){

        return 0;

    }

}

 

你可能感兴趣的:(可变参数)