如何使generice数据类型可以访问clone()方法

时间:2017-03-12 15:37:04

标签: generics linked-list cloneable

enter image description here enter image description here

如图所示 在32行有一个错误,表示
未定义$ # replace_sentences_1() $ python3 filter_words.py number of sentences: 862462 time: 24.46173644065857 $ pypy filter_words.py number of sentences: 862462 time: 15.9370770454 $ # replace_sentences_2() $ python3 filter_words.py number of sentences: 862462 time: 40.2742919921875 $ pypy filter_words.py number of sentences: 862462 time: 13.1190629005 ,因为Node<T>(Object)返回了对象数据类型

我尝试创建另一个采用Object数据类型的构造函数然后将其转换为
它删除了第一个错误,导致我出现另一个错误 clone()方法不可见 但是,我写了这句话“clone()” 任何解决方案:(

1 个答案:

答案 0 :(得分:0)

没有通用的方法来克隆Java中的另一个对象。某些特定的实现类可能会提供公共clone()方法,但无法保证类型T具有此类公共clone()方法。

特别是,Cloneable界面不提供公共clone()方法;这可能是你的误解。 Cloneable的目的不是作为提供公共克隆接口的对象的接口,而是作为标记来指示Object.clone()方法(如果在某种程度上在克隆过程中使用)是否为抛出异常与否。 Java中没有公共基类型表示存在公共clone()方法。 (如果您愿意,可以创建这样的界面,但它只适用于您自己的类型。)