大神们,下面的代码如何理解?

[复制链接]
查看11 | 回复3 | 2021-1-27 05:30:19 | 显示全部楼层 |阅读模式
classConvert{
ListlistT=newArrayList();
publicConvertconvertTo(Classclz){
ListlistK=newArrayList();
listT=(List)listK;
return(Convert)this;
}
}
对应代码:“listT=(List)listK;”在实际业务中泛型从的类除了都实现了Serializable接口外,没有任何关系,为什么不同类型可以强转还不报错,正常执行。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:30:19 | 显示全部楼层
你可以看看这篇帖子:
https://blog.csdn.net/youanyyou/article/details/100910242
回复

使用道具 举报

千问 | 2021-1-27 05:30:19 | 显示全部楼层
引用楼主BigBox124的回复:对应代码:“listT=(List)listK;”在实际业务中泛型从的类除了都实现了Serializable接口外,没有任何关系,为什么不同类型可以强转还不报错,正常执行。

我觉得这个就是同种类泛型之间的转换,当然可以咯。既然是泛型写成T类还是K类逻辑上肯定没问题。
回复

使用道具 举报

千问 | 2021-1-27 05:30:19 | 显示全部楼层
我知道了,是因为泛型擦除的原因造成的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行