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 の配列です

  • [は一次元配列を意味します
  • LfullyQualifiedName; クラス、L を意味します。単なる構文です
于 2009-09-29T08:54:55.580 に答える
1

これは、Javaでvarargs(可変数の引数を持つメソッド)がどのように機能するかです。varargs引数は、メソッド内の配列のように見えます。

于 2009-09-29T09:11:26.323 に答える