我有一个 Object 类型的对象,我想使用toString()方法返回它的 String 表示,除非它是一个数组,否则我想返回对象的 Arrays.toString()(我不需要一个 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);
}
问题是我可以检测到它是一个数组,但我必须处理所有不同的原始数组......
有没有更清洁的方法来实现这一目标?使用核心方法还是反射?