首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将ArrayList转换为SubType Of ArrayList

如何将ArrayList转换为SubType Of ArrayList
EN

Stack Overflow用户
提问于 2015-10-24 09:17:15
回答 1查看 332关注 0票数 0

阶级结构

代码语言:javascript
复制
class Packet {}
class PacketList extends ArrayList<Packet> {} 

现在我正在尝试将ArrayList的对象转换为PacketList的对象。

代码语言:javascript
复制
List<Packet>  p = new ArrayList<Packet> ();
PacketList pList = p;

但这行不通。请帮帮我

错误消息:

不兼容类型:列表不能转换为PacketList

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-24 09:40:13

PacketList扩展了ArrayList<Packet>,这意味着新引入的或覆盖的方法可能需要并依赖于仅在新的PacketList版本中引入的其他工件。如果它指的是仅在PacketList中可用的实例变量呢?ArrayList将没有这些实例变量,尽管您打算通过这些方法访问它们.

不,不能将超类的实例分配给匹配扩展类的类型的变量。

相反,您可以使用超级类型作为泛型类型来分配扩展(子类)实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33316499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档