这个问题与java反射有关。
代码如下所示:
for(Object ro: m.invoke(argList[0])
{
getRetValMethod = ro.getClasss().getMethod("getRetVal", null);
Object co = getRetValMethod.invoke(null);
....
问题是,invoke返回一个没有迭代器的Object类型
答案 0 :(得分:0)
您可以转发到Iterable<?>
:
Iterable<?> iterable = (Iterable<?>) m.invoke(argList[0]);
for (Object x : iterable) {
...
}
编辑:现在你说它总是一个引用类型的数组,你可以转换为Object[]
:
Object[] array = (Object[]) m.invoke(argList[0]);
for (Object x : array) {
...
}
如果您需要处理这两种情况,可以使用instanceof
来检查哪条路径(或两条路径都没有)。