Итак, я уже обнаружил
Arrays.toString(arr);
Так что не указывайте мне этот вопрос .
Моя проблема немного другая.В этом случае у меня нет собственного указателя массива на рассматриваемый массив.У меня есть это как указатель объекта, и это может быть массив любого типа (примитивный или другой).В этом случае я могу использовать вышеупомянутый метод toString (), приведя указатель Object к Object [].Однако, если указатель является примитивным массивом, он выдаст исключение времени выполнения и произойдет сбой.Итак?
Пример:
double test[] = {1, 2, 3, 4};
Object t = test;
// Now how do I pretty print t as an array with no access to test?
Я решил свою проблему следующим образом:
public String unkObjectToString(Object o) {
if(!o.getClass().isArray()) return o.toString();
int len = Array.getLength(o);
String ret = "[";
for(int i = 0; i < len; i++) {
Object q = Array.get(o, i);
ret += unkObjectToString(q);
if(i == len - 1)
ret += "]";
else
ret += ", ";
}
return ret;
}