是否可以使用其引用访问Object Array?

时间:2013-02-21 06:26:52

标签: java

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

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

3 个答案:

答案 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[]。它会起作用。