Java では、配列の型を動的に決定するにはどうすればよいですか? 質問する

Java では、配列の型を動的に決定するにはどうすればよいですか? 質問する
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

おすすめ記事