java,我使用泛型数组的时候提示unchecked cast,下有图片代码

图片说明

【Array.newInstance()】这个方法返回的是Object,,向上转型很自然,向下转型就需要强转
由于这个后面传入的是class,也就是通过 class来创建实例(这个是运行时才能知道类型的)

所以说程序给报个异常也是理所应当,,

【解决方法】题主可以不适用【Array.newInstance()】
自己写一个创建实例的方法,,难度不是很大吧??

有问题还可以追问。

代码我不用看,就单单你最后的问题,一个String类型把它转成Object类型之后,能直接转换成int类型吗?

泛型的作用:检查操作的类型是否与希望的类型相匹配,帮助开发者审查操作的失误。

这里以List举例:泛型String表示的是List中只能加入String类型,否则就会报错。这里要注意,泛型的作用范围是List的内部的内容,而不是List本身。

你的强转会报错是因为你是对List进行了强转,泛型的作用已经超出了他的范围,所以这个会报错。

如果你想取消这个错误你可以自己写一个for循环,依次把List中的对象放入到数组中。