我有一个无法转换的 java.lang.Object。调试时,我注意到 Object 是一个不可修改的集合,所以我尝试将它转换为一个集合,但没有奏效(ClassCastException)。相反,我尝试了
Set<SimpleUserBean> listOfSelectedItems = new HashSet<SimpleUserBean>(object)
但当然这也是不可能的,因为 HashSet 没有这样的构造函数。
我将如何解决这个问题?
我有一个无法转换的 java.lang.Object。调试时,我注意到 Object 是一个不可修改的集合,所以我尝试将它转换为一个集合,但没有奏效(ClassCastException)。相反,我尝试了
Set<SimpleUserBean> listOfSelectedItems = new HashSet<SimpleUserBean>(object)
但当然这也是不可能的,因为 HashSet 没有这样的构造函数。
我将如何解决这个问题?
如果 Object 是 ajava.util.Collections.UnmodifiableSet
或其他任何实现Collection
,那么您应该能够做到new HashSet<>((Collection) object)
。这使编译器清楚您正在尝试使用HashSet(Collection<? extends E> c)
构造函数。
设置 listOfSelectedItems = new HashSet(object)
这是不可能的。这个怎么样。
Set<SimpleUserBean> listOfSelectedItems = new HashSet<SimpleUserBean>();
listOfSelectedItems.addAll((Collection)object);
转换java.util.Collections.UnmodifiableSet
为String arrays
.
利用 :
object.getValue().toString().replace("[","").replace("]","").split(":")
假设object.getValue()
会给你java.util.Collections.UnmodifiableSet