我有一个基于标识字符串get(String)返回 的函数。Object
有时,Object返回的get是一个数组。如果是这样,我想遍历每个数组元素并以某种方式处理该元素。类似于下面的代码。
Object object = get(identifier);
if(object.getClass().isArray())
processArray(object);
void processArray(Object array) {
//For each element in the array, do something
}
我尝试的解决方案是这样的
void processArray(Object array) {
Object[] arrayCasted = (Object[]) array;
for(Object arrayElement : arrayCasted)
//Process each element somehow
}
但这仅适用于对象数组(而不适用于原始数组)
Integer[] test1 = {1, 2, 3};
int[] test2 = {1, 2, 3};
processArray(test1); //Works
processArray(test2); //Does not work: ClassCastException
有没有办法processArray为所有阵列工作?
翻阅古今
相关分类