Ну, как я понял, преобразование в псевдокоде было указано с целью последующего использования массива, т.е. получения элемента массива. В этом случае каст всего массива вряд ли требуется - получить элемент по индексу можно. Правда, примитивные типы будут при касте обёрнуты, но это не обязательно плохо.
Пример:| Код | public class TestUndefArray { public static void main( String[] args ) { Object o = new int[] { 1, 2, 3, 4 }; String[] strArr = { "aa", "bb" }; TestUndefArray.method(o); TestUndefArray.method("sdgf"); TestUndefArray.method(strArr); }
public static void method(Object o) { if ( o.getClass().isArray() ) { for ( int i = 0; i < Array.getLength(o); i++ ) { System.out.println(Array.get(o, i) + " (" + Array.get(o, i).getClass().toString() + ")"); } } else { System.out.println(o.getClass().toString() + " is not a array"); } } }
|
Вывод в консоль:| Код | 1 (class java.lang.Integer) 2 (class java.lang.Integer) 3 (class java.lang.Integer) 4 (class java.lang.Integer) class java.lang.String is not a array aa (class java.lang.String) bb (class java.lang.String)
|
|