1

我正在使用一种在调用时返回对象的方法。该对象的类型是 java.util.Collections.unmodifiableSet 。该集合仅包含一个值,我需要访问该值并将其提供给另一种方法。问题是这样做:

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

返回包含在 [ ] 中的值,因为它是一个集合。另一个方法需要使用 Object 类型参数调用,应该只是没有 [ ] 的值。我通过使用正则表达式删除方括号来使事情正常工作,但希望通过以某种方式将集合转换为适当的类型来使事情正常工作。

4

2 回答 2

1

您可以使用迭代器:

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

将返回集合迭代器的第一个值。(假设,table.getValue()返回集合)

于 2012-06-26T07:20:11.990 回答
0

如果你知道这个集合只包含一个值,你可以这样做:

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

如果集合不能包含多个值,则可以删除breakafterresult = o.toString();

希望有帮助。


编辑:已修改,现在从表中检索集合。向 Collection 添加演员表并添加中断

于 2012-06-26T07:13:07.107 回答