Java 之 可变参数
Posted niujifei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 之 可变参数相关的知识,希望对你有一定的参考价值。
可变参数
在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化成如下格式:
修饰符 返回值类型 方法名(参数类型... 形参名)
其实这个书写完全等价于
修饰符 返回值类型 方法名(参数类型[] 形参名)
后面的这种定义,在调用时必须传递数组,而前者可以直接传递数据即可。
JDK1.5 以后。出现了简化操作。...
Demo:
1 public class ChangeArgs 2 public static void main(String[] args) 3 int[] arr = 1, 4, 62, 431, 2 ; 4 int sum = getSum(arr); 5 System.out.println(sum); 6 // 6 7 2 12 2121 7 // 求 这几个元素和 6 7 2 12 2121 8 int sum2 = getSum(6, 7, 2, 12, 2121); 9 System.out.println(sum2); 10 11 12 /* 13 * 完成数组 所有元素的求和 原始写法 14 15 public static int getSum(int[] arr) 16 int sum = 0; 17 for(int a : arr) 18 sum += a; 19 20 21 return sum; 22 23 */ 24 //可变参数写法 25 public static int getSum(int... arr) 26 int sum = 0; 27 for (int a : arr) 28 sum += a; 29 30 return sum; 31 32
Tips:上述add方法在同一个类中,只能存在一个。因为会发生调用的不确定性
注意事项:
1. 使用前提:当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数
2. 使用格式:定义方法时使用 修饰符 返回值类型 方法名(数据类型...变量名)
3.可变参数的原理:可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数传递的参数个数,可以是0个(不传递),1,2...多个
4. 一个方法的参数列表,只能有一个可变参数
5. 如果方法的参数有多个,那么可变参数必须写在参数列表的末尾
可变参数的特殊(终极)写法
public static void method(Object...obj)
以上是关于Java 之 可变参数的主要内容,如果未能解决你的问题,请参考以下文章
一脚踩进java之基础篇34——可变参数Collection工具类集合嵌套