Collection<E> 强制转化到ArrayList<E>或其他子类cannot cast Class

来源:互联网 发布:软件测试理论基础 编辑:程序博客网 时间:2024/06/08 03:11

Collection<E> 强制转化到ArrayList<E>或其他子类cannot cast Class

Collection<E>是一个接口,ArrayList<E>等类实现了这个接口。打个比方:

人作为一个接口,有各种不同的implementation。。男人、女人、第三性别的人都是对人这个接口的实现。。男人、女人、第三性别的人都可以描述成人,而反过来,如果硬要把人强制说成是男人,那么对于女人和第三性别的人就是cannot cast Class。 

那么如何获取Collection<E>中的对象呢:

可以使用它的toArray()方法。我们用一个Object[] 数组去获取Collection<E>中的对象,然后再对Object[]数组中的对象进行类型转换,获取你需要的类型(前提是你需要确定Collection中的对象的类型)。

这只是可行的一种方法, 大家可以有别的方法,可以集思广益一下。。

原创粉丝点击