我有一些代码,它使用输入对象的反射,并对存储在对象中的数据进行一些处理.输入对象可以是String或int或double等,有时它可以是多维数组.我知道如何为二维数组做这个,但我更喜欢能适用于任何给定维数组的东西.任何完成这项工作的指导都会有所帮助.谢谢,
解决方法:
听起来你需要递归或循环,或两者兼而有之.
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
}
}
}
标签:java,reflection
来源: https://codeday.me/bug/20190607/1192954.html