以下代码
public static void main(String[] args) {
fun(new Integer(1));
}
static void fun(Object ... a) {
System.out.println(a.getClass());
}
给出输出:-
class [Ljava.lang.Object;
这是什么课?
以下代码
public static void main(String[] args) {
fun(new Integer(1));
}
static void fun(Object ... a) {
System.out.println(a.getClass());
}
给出输出:-
class [Ljava.lang.Object;
这是什么课?
一个Object[]
数组。
要获取运行时类型信息:
a.getClass().isArray() -> true
a.getClass().getComponentType().getName() -> java.lang.Object
根据JVM 规范,它只是一个java.lang.Object 数组:
这就是varargs(具有可变数量参数的方法)在 Java 中的工作方式 - varargs 参数看起来就像方法内的一个数组。