Итак, у меня есть объект, который МОЖЕТ быть массивом. Он также может быть примитивным или строкой. Если это массив, это может быть массив буквально чего угодно.
У меня нет проблем с выяснением, является ли это массивом, но я не могу представить его во что-то, что я могу выполнить, чтобы получить значения из.
// o is an object and clazz is the class of the o
if (clazz == Array.class) {
Class ofArray = o.getClass().getComponentType();
String arrayType = ofArray.getName(); // 'Double' for my test case
//ERROR: [D cannot be cast to [Ljava.lang.Object
Object[] objects = (Object[]) o;
}
Мой фон в ruby и php (где он будет работать), и статическая типизация возится с моей головой. Любые идеи?
EDIT:
Это вызывает ошибку
[D cannot be cast to [Ljava.lang.Object.
Что мне не хватает?
if (o.getClass().isArray()) {
Object[] objects = (Object[]) o;
}