下面的代码可变参数类?
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
根据the JVM specifications它只是一个阵列java.lang.Object中的:
这是如何在Java中工作的varargs(方法的参数数量) - varargs参数看起来像方法内的数组。
L只是语法?没有任何意义?..怪异的.. – Ajay 2009-09-29 10:22:42
它仅用作分隔符,没有特别的意义;你读过规格书吗? – dfa 2009-09-29 10:37:03