可变参数是为了解决传参个数和类型不确定的情况:下面是代码
package com.tencent.variable;
public class MainClass {
public static void fun(int...items) {
float sum = 0;
int max = 0;
int i = 0;
for(int item:items) {
if(i == 0) {
max = item;
} else {
if(item > max) {
max = item;
}
}
sum += item;
i++;
}
System.out.println(max);
System.out.println(sum/i);
}
public static void printf(Object...items) {
for (Object object : items) {
if((object.getClass()).equals(TestClass.class)) {
((TestClass) object).fun();
} else {
System.out.println(object);
}
}
}
public static void fun1() {
System.out.println("我是函数fun1");
}
public static void main(String [] args) {
fun(-1, 2, 3, 4, 5, 6, 8);
TestClass classVar = new TestClass();
printf("hello", 5, 6, 6.5, "world", false, classVar);
}
}
class TestClass {
public void fun() {
System.out.println("类的一个函数");
}
}
当指定类型为int时,函数只能传入int类型的参数,当指定类型为object时,可以指定任意类型的参数,也可以传入类对象。