Object 型のオブジェクトがあり、toString()メソッドを使用してその String 表現を返したいのですが、それが配列の場合を除いて、オブジェクトの Arrays.toString() を返したい (必要ありません) a deepToString)。
私はこれを使用することを考えました:
public static String getValueAsString(Object value){
if(value != null && value.getClass().isArray()){
if(value instanceof Object[])
return Arrays.toString((Object[])value);
else if(value instanceof int[])
return Arrays.toString((int[])value);
else ...
}else
return String.valueOf(value);
}
問題は、それが配列であることを検出できることですが、さまざまなプリミティブ配列をすべて処理する必要があります...
これを達成するためのよりクリーンな方法はありますか? コアメソッドまたはリフレクションを使用していますか?