反射和多维数组

4 java reflection

我有一些代码,它使用输入对象的反射,并对存储在对象中的数据进行一些处理.输入对象可以是String或int或double等,有时它可以是多维数组.我知道如何为二维数组做这个,但我更喜欢能适用于任何给定维数组的东西.任何完成这项工作的指导都会有所帮助.谢谢,

Mic*_*ers 6

听起来你需要递归或循环,或两者兼而有之.

void getStuffFromArray(Object obj) {
    // assuming we already know obj.getClass().isArray() == true
    Class<?> componentType = obj.getClass().getComponentType();
    int size = Array.getLength(obj);
    for (int i = 0; i < size; i++) {
        Object value = Array.get(obj, i);
        if (value.getClass().isArray()) {
            getStuffFromArray(value);
        } else {
            // not an array; process it
        }
    }
}
Run Code Online (Sandbox Code Playgroud)