したがって、配列である可能性のあるオブジェクトがあります。プリミティブまたは文字列にすることもできます。配列の場合は、文字通り何でも配列にすることができます。
それが配列であるかどうかを判断するのに問題はありませんが、値を取得するために反復できるものにキャストできないようです。
// 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 (それが機能する場所) であり、静的な型付けは私の頭をいじっています。何か案は?
編集:
これはエラーをスローします
[D cannot be cast to [Ljava.lang.Object.
私は何が欠けていますか?
if (o.getClass().isArray()) {
Object[] objects = (Object[]) o;
}