或许有些时候 我们也不知道一个方法到底需要几个参数
如果是前端自然很好处理 因为前端直接就是方法同名就行 参数没关系
但后端方法 因为重载机制的存在 参数不一样会出问题的
但也可以写的灵活一点
我们来看一段代码
public class text {
public static void main(String args[]) {
calculation(22,33,44);
calculation(1,2,3,4,5,6,7,8);
}
public static void calculation(int...intlist){
System.out.println("------------------");
if(intlist.length > 0) {
for(int i = 0;i < intlist.length;i++) {
System.out.println(intlist[i]);
}
}
}
}
我们定义了一个 calculation 函数 他的参数就是可变的
我们声明 int…intlist 此时 intlist就接受了所有的参数 这里就不再限制参数的数量
输出结果如下
可以看到 我们这样 第一个传了三个参数 第二个传了八个 都被intlist以数组的形式完美接受了
我们还可以做个求和的操作
参考代码如下
public static void main(String args[]) {
calculation(22,33,44);
calculation(1,2,3,4,5,6,7,8);
}
public static void calculation(int...intlist){
int avg = 0;
if(intlist.length > 0) {
for(int i = 0;i < intlist.length;i++) {
avg = avg+intlist[i];
}
}
System.out.println(avg);
}
但相对的 每个方法都只能有一个可变参数 且必须在方法的最后面
参考代码如下
public static void main(String args[]) {
calculation("实例1",22,33,44);
calculation("实例2",1,2,3,4,5,6,7,8);
}
public static void calculation(String nameList,int...intlist){
int avg = 0;
if(intlist.length > 0) {
for(int i = 0;i < intlist.length;i++) {
avg = avg+intlist[i];
}
}
System.out.println(nameList+avg);
}
输出结果如下
本文含有隐藏内容,请 开通VIP 后查看