这是Java5以后版本的一个新特性,因此就要注意这个只有Java5以后的版本支持,
在介绍不定项参数之前首先想象一个当需要用一个方法来除了若干个(不定,可能一个,可能N个)类型相同的数值进行某种运算的时候,使用哪种方法时可以解决。
有的人会说用方法重载,确实方法的重载可以解决这样的问题,但是当有四个这汇总参数数量不同,类型相同的情况时这个方法还可以。但是当有N个的时候,难道要将方法重载N次吗?可能有人有说了,用数组就可以搞定了,但是当这个方法中的参数类型有很多整形的,又有个别字符型的呢。恐怕这样的时候上面两种方法就无能为力了。接下来就是我要介绍的Java5以后的新特性,不定形参
使用方法为在参数列表中这样写
(数据类型... 变量名),记住里面是三个点,少点一个,多点一个都不行。
不定项参数从本质上来说就是一个数组,在使用不定项参数的时候有一下几点:
1.在参数列表中只能有一个不定项参数,不能有多个
example:
public void add(int... numsA,int... numsB){
//代码块
}
当使用add(54,56,4,85,4,216,46,5,41)这样的方法类调用不定项参数的时候就分不清哪几个数字是numsA的,哪几项是numsB的。因此在使用不定项参数的时候参数列表里面只能有一个不定项参数,不能有多个。
2.不定项参数只能在参数列表中的最后一个。
这个事语法规定的,大家记着就行了。也没法举例子。
3.在调用不定项参数的时候可以忽略这个参数,也可以传入多个参数。是一种有一定弹性的数组。
4.当类中有更具体的方法时,就会调用更具体的(涉及到优先级的问题),否则就调用不定项参数。