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

ObjectリターンをキャストしObject[]て使用します。

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する必要があるのは1つだけです。Object[]それが動作します。

于 2013-02-21T07:11:14.957 に答える