我有一个无法转换的 java.lang.Object。调试时,我注意到该对象是一个不可修改的集合,因此我尝试将其转换为一个集合,但这不起作用(ClassCastException)。相反,我尝试了
Set<SimpleUserBean> listOfSelectedItems = new HashSet<SimpleUserBean>(object)
但是这当然也是不可能的,因为 HashSet 没有这样的构造函数。
我该如何解决这个问题?
最佳答案
如果对象是 java.util.Collections.UnmodifiableSet
或任何其他实现 Collection
的东西,那么你应该能够做到 new HashSet<>((Collection) object)
。这使编译器清楚地知道您正在尝试使用 HashSet(Collection<? extends E> c)
构造函数。
关于java - 转换不可修改的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30671295/