1

我有一个无法转换的 java.lang.Object。调试时,我注意到 Object 是一个不可修改的集合,所以我尝试将它转换为一个集合,但没有奏效(ClassCastException)。相反,我尝试了

Set<SimpleUserBean> listOfSelectedItems = new HashSet<SimpleUserBean>(object)

但当然这也是不可能的,因为 HashSet 没有这样的构造函数。

我将如何解决这个问题?

4

3 回答 3

2

如果 Object 是 ajava.util.Collections.UnmodifiableSet或其他任何实现Collection,那么您应该能够做到new HashSet<>((Collection) object)。这使编译器清楚您正在尝试使用HashSet(Collection<? extends E> c)构造函数。

于 2015-06-05T16:28:56.943 回答
0

设置 listOfSelectedItems = new HashSet(object)

这是不可能的。这个怎么样。

Set<SimpleUserBean> listOfSelectedItems =  new HashSet<SimpleUserBean>();
listOfSelectedItems.addAll((Collection)object);
于 2015-06-05T16:31:47.877 回答
0

转换java.util.Collections.UnmodifiableSetString arrays.

利用 :

object.getValue().toString().replace("[","").replace("]","").split(":")

假设object.getValue()会给你java.util.Collections.UnmodifiableSet

于 2016-06-05T15:53:35.873 回答