3

以下代码

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

给出输出:-

class [Ljava.lang.Object;

这是什么课?

4

3 回答 3

7

一个Object[]数组。

要获取运行时类型信息:

a.getClass().isArray() -> true
a.getClass().getComponentType().getName() -> java.lang.Object
于 2009-09-29T08:50:24.340 回答
6

根据JVM 规范,它只是一个java.lang.Object 数组

  • [表示一维数组
  • 完全合格的名称;指类别,L;只是语法
于 2009-09-29T08:54:55.580 回答
1

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

于 2009-09-29T09:11:26.323 回答