可变参数函数的定义
每个方法只能 定义一个可变参数,且可变参数 必须放在参数列表的最后。
public static void fun(Object...objects){
// code
}
编译器对函数的处理
- 编译时,编译器将参数转为 数组传递给函数。(通过反编译工具可以看到函数的调用的处理)
函数调用:
public static void main(String[] args){ fun("a");// 函数调用 }
反编译效果:
- 当只传递一个null作为参数时,编译器不会隐式创建数组。
函数调用:
public static void main(String[] args){ fun(null);// 函数调用 }
反编译效果:
- 当只传递一个数组作为参数时,编译器不会隐式创建 数组。
函数调用:
public static void main(String[] args){ String[] var =new String[]{"a","b"}; fun(var);// 函数调用 fun(var,"c");// 函数调用 }
反编译效果: