这是你所追求的黑客。首先将其转换为原始 ArrayIterator,然后再转换为 ArrayIterator<Me>。
ArrayIterator<Me> meIter = (ArrayIterator) 结果。
更好的方法是更改您的方法以返回 ArrayIterator<Me> 并将结果更改为相同。
***刚刚看到你的更新。该方法似乎试图返回不同类型的 ArrayIterators,因此返回类型为 <Object>。
// Would be nice if the 2 types shared a common super type.
public ArrayIterator<Object> query(String table, String field, String criterion)
{
// WARNING, this is a raw generic type, and provides no type safety
ArrayIterator result = null;
if (table.equals("MyTable")
{
result = MyTable.queryMe(field, criterion);
}
else if (table.equals("YourTable")
{
result = YourTable.queryYou(field, criterion);
}
return (ArrayIterator<Object>) result.
}