1

呼び出されたときにオブジェクトを返すメソッドを使用しています。そのオブジェクトの型は java.util.Collections.unmodifiableSet です。コレクションには、別のメソッドにアクセスしてフィードする必要がある値が 1 つだけ保持されます。問題は、これを行うことです:

Object o = table.getValue().toString();

コレクションであるため、[ ] で囲まれた値を返します。もう 1 つのメソッドは、[ ] なしの値のみであるオブジェクト型パラメーターを使用して呼び出す必要があります。正規表現で角かっこを削除することで機能するようになりましたが、何らかの方法でコレクションを適切な型にキャストして機能させたいと考えています。

4

2 に答える 2

1

イテレータを使用できます:

String result = ((Collection) table.getValue()).iterator().next().toString();

コレクション反復子の最初の値を返します。(仮定すると、table.getValue()コレクションを返します)

于 2012-06-26T07:20:11.990 に答える
0

このコレクションに含まれる値が 1 つだけであることがわかっている場合は、次のようにすることができます。

String result = null;
Collection collection = (Collection)table.getValue();
for(Object o : collection) {
   result = o.toString();
   break;
}

コレクションに複数の値を含めることができない場合は、breakafterを削除できます。result = o.toString();

それが役立つことを願っています。


編集: 変更され、コレクションがテーブルから取得されるようになりました。コレクションにキャストを追加し、休憩を追加しました

于 2012-06-26T07:13:07.107 に答える