你能解释一下为什么会这样吗?我该如何解决?
所以我正在使用 Oracle-ADF 并且正在使用穿梭组件。我使用 sos1.getValue();
获取选定的值
getValue() 方法返回一个对象,我正在尝试将其转换为 ArrayList,以便稍后使用它。因此我创建了 ArrayList sos1Value
然而,这行代码是疯了:
sos1Value = (ArrayList) Arrays.asList(sos1.getValue());
我不断得到 java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList
我尝试过其他方法,例如: sos1Value = (ArrayList) sos1.getValue();
但是我一直遇到同样的问题,我该怎么办?
原文由 SaintLike 发布,翻译遵循 CC BY-SA 4.0 许可协议
Arrays.asList
返回List
实现,但它不是java.util.ArrayList
。它恰好有一个类名ArrayList
,但这是 --- 中的一个嵌套类Arrays
与java.util.ArrayList
-b3d.如果您 需要
java.util.ArrayList
,您可以创建一个副本:如果您 不需要 ArrayList,只需删除演员表:
(如果您不需要
ArrayList
公开的任何成员)。