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、可变参数属于数组的变形应用