2011-08-10 12 views
7

私は問題があります。この方法で配列クラス名を取得する

私は方法アレイに与えるときを除いて、それが動作する私は、パラメータとして、一般的なオブジェクトを受け取り、私はクラスの名前

public void myMethod(Object o) 
    String className = o.getClass().getName(); 
    ... 
} 

を取得する必要があります。例えば メソッドに渡す私がdouble[]のようなものを取得することができますどのように[D

を返しgetClass().getName()double[])doubleの配列、?もし

答えて

12

[Dは、2倍の配列を意味します。クラス名については、this linkを参照してください。なぜあなたはdouble[]のようなものを好きですか?

+1

+1です。以前はそれを見たことがなく、新しいことを学んだ! – Qwerky

+3

@Fortega [D、私は[Dはユニークでない識別子である可能性があると思ったので、私はダブル[]を必要とします。とにかく 'getCanonicalName'はdouble []を返します – Maverik

+0

JavaDocリンクを作成する場合、' double [] 'を必要とする理由があります。 – aliteralmind

1

ラッパークラスを使用して与える場合は、 '[Ljava.lang.Double'

Double[] d = new Double[10] 

d.getClass()を取得します。のgetName()あなたに与えます[Ljava.lang.Double

System.out.print(new String[0].getClass().getSimpleName()); 

、結果が良くなる:クラスの

+1

@lucaghera:とにかく、あなたが言ったように、getCannonicalNameはあなたにdouble []を返す –

2

単純な名前は、あなたが探しているものである

String[] 
関連する問題