我有一个方法返回对象数组的引用,我需要获取数组中项目的计数。可能吗 ? 该方法的信息如下:
public Object getAllDChannelId()
{
Object[] items = getAllItems();
Object[] ids = new Object[items.length];
for (int i = 0; i < items.length; i++)
ids[i] = items[i].getId();
return ids;
}
现在我试图通过getAllDChannelId()来获取物品的数量。怎么做到的?
编辑:我不希望(实际上不能)更改方法getAllDChannelId()的签名。
答案 0 :(得分:4)
将回复Object
投放到Object[]
并使用它。
Object[] objs = (Object[]) getAllDChannelId();
答案 1 :(得分:2)
在此处输入代码更改函数的返回类型
public Object[] getAllDChannelId()
{
Object[] items = getAllItems();
Object[] ids = new Object[items.length];
for (int i = 0; i < items.length; i++)
ids[i] = items[i].getId();
return ids;
}
在通话环境
Object[] returnObj = getAllDChannelId();
System.out.println("Length: "+returnObj.length);
<强>更新强>
如果在某些情况下您只需要引用,那么在需要对象数组时执行此操作
Object[] returnObj = (Object[])getAllDChannelId();
System.out.println("Length: "+returnObj.length);
答案 2 :(得分:0)
你只需要在返回类型的方法中将Object
转换为Object[]
。它会起作用。