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;
    }
}