Object o = new Long[0]
System.out.println( o.getClass().isArray() )
System.out.println( o.getClass().getName() )
Class ofArray = ???
最初の 3 行を実行すると、以下が出力されます。
true
[Ljava.lang.Long;
??? を long 型にするにはどうすればいいでしょうか? 文字列を解析して Class.forname() を実行することもできますが、それは面倒です。簡単な方法は何でしょうか?
ベストアンサー1
書くだけ
Class ofArray = o.getClass().getComponentType();
からJavaDoc の:
public Class<?> getComponentType()
Class
配列のコンポーネント型を表すを返します。このクラスが配列クラスを表していない場合、このメソッドは を返しますnull
。