public static void main(String[] args) throws Exception {
int[] a = new int[] { 1, 2, 3 };
method(a);
}
public static void method(Object o) {
if (o != null && o.getClass().isArray()) {
Object[] a = (Object[]) o;
// java.lang.ClassCastException: [I cannot be cast to [Ljava.lang.Object;
}
}
のパラメーターの型が何であるかを知ることは想定されていませo
んmethod
。どうすればそれをObject[]
配列にキャストできますか?
instanceof
パラメータは任意のタイプの配列になる可能性があるため、解決策にはなりません。
PS: 配列のキャストを扱う SO に関するいくつかの質問を見てきましたが、配列の型がわからない人は (まだ?) いません。