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