繁体   English   中英

你为什么需要(LinkedList)?

[英]Why do you need (LinkedList)?

所以我在这里有一行代码:

LinkedList<Integer> p = (LinkedList) obj.c.clone();

我想知道你为什么在obj.c.clone()之前需要(LinkedList)部分?

方法Object.clone()返回Object类型的结果。 如果要将其用作LinkedList ,则需要将显式转换结果发送到LinkedList类型。

答案是: 您需要类型转换才能访问目标类方法和字段。

ObjectLinkedList是相同的类型层次结构,因此您可以进行转换,否则您将在Java中获得ClassCastException 有关类型转换的更多信息,请参阅此链接

clone()方法返回一个Object ,因此必须将其LinkedListLinkedList

LinkedList类实现Java的可克隆接口 如果您阅读该具体接口上的​​文档,您会发现clone deffinition是:

protected Object clone()

也就是说,在Java中对Object对象的引用,对任何不是解包的基本类型的对象。

您需要将引用类型LinkedListLinkedList ,以便能够使用(“view”)其未包含在Object类定义中的方法/属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM