1

我有一个方法可以返回对对象数组的引用,我需要获取数组中项目的计数。可能吗 ?该方法的片段如下:

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() 的签名。

4

3 回答 3

4

铸造回报ObjectObject[]使用它。

Object[] objs = (Object[]) getAllDChannelId();
于 2013-02-21T06:28:57.580 回答
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);
于 2013-02-21T06:30:51.407 回答
0

您只需要在返回类型的方法中Object转换一件事。Object[]它会起作用的。

于 2013-02-21T07:11:14.957 回答