Java 是否可以使用对象数组的引用访问对象数组?

Java 是否可以使用对象数组的引用访问对象数组?,java,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;

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

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;
}
现在,我正在尝试获取通过GetAlldChannel ID返回的项目数。怎么弄到的

编辑:我不希望无法更改方法GetAlldChannel ID的签名。

将返回对象强制转换为Object[]并使用它

Object[] objs = (Object[]) getAllDChannelId();
将返回对象强制转换为对象[]并使用它

Object[] objs = (Object[]) getAllDChannelId();

在此输入代码更改函数的返回类型

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 = (Object[])getAllDChannelId();
System.out.println("Length: "+returnObj.length);

在此输入代码更改函数的返回类型

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 = (Object[])getAllDChannelId();
System.out.println("Length: "+returnObj.length);

您只需要在方法的返回类型中将对象强制转换为对象[]。它会起作用。

您只需要在方法的返回类型中将Object强制转换为Object[]。它会起作用。

为什么返回类型对象[]不是呢?它真的可以编译吗?@asifsid88:是的,它编译得很好。@BheshGurung:有些地方我只需要引用,所以实现是这样的。为什么返回类型对象[]不是呢相反?它真的编译吗?@asifsid88:是的,它编译得很好。@BHESHGURNG:有些地方我只需要参考,所以实现是正确的。很抱歉@asifsid88,但是我不能更改GetAlldChannel ID的签名。任何其他方式。抱歉@asifsid88,但我无法更改GetAlldChannel ID的签名。请告诉我,我不能更改getAlldChannel ID方法的签名,Object[]objs=Object[]getAlldChannel ID;我还要提到,我无法更改方法getAllDChannelId的签名,Object[]objs=Object[]getAllDChannelId;