变量参数类?

时间:2009-09-29 08:49:47

标签: java arrays class variadic-functions

以下代码

    public static void main(String[] args) {
        fun(new Integer(1));
    }
    static void fun(Object ... a) {
        System.out.println(a.getClass());
    }

给出输出: -

class [Ljava.lang.Object;

这是什么课?

3 个答案:

答案 0 :(得分:7)

Object[]数组。

获取运行时类型信息:

a.getClass().isArray() -> true
a.getClass().getComponentType().getName() -> java.lang.Object

答案 1 :(得分:6)

根据the JVM specifications,它只是一个 java.lang.Object数组

  • [表示单维数组
  • LfullyQualifiedName; 表示一个类L;只是语法

答案 2 :(得分:1)

这就是varargs(具有可变数量参数的方法)在Java中的工作方式 - varargs参数看起来像方法中的数组。