LinkedList中的clone()方法

时间:2014-04-07 00:13:50

标签: java linked-list

我正在学习java并且目前正在研究集合框架。我正在尝试使用LinkedList的API方法,并且面临clone()方法的问题。以下是我的代码

import java.util.List; 
import java.util.ArrayList;
import java.util.Collection;
import java.util.ListIterator;
import java.util.LinkedList;

public class LinkedListTest
{
    public static void main(String[] args)
    {
        String[] colors1 = {"Red", "Blue"};

        List<String> color1List = new LinkedList<String>();

        for(String color:colors1)
            color1List.add(color);

        List clonedList = (LinkedList) color1List.clone();
    }
}

编译此程序时,出现以下错误:

LinkedListTest.java:51: cannot find symbol
symbol  : method clone()
location: interface java.util.List<java.lang.String>
                List<String> clonedList = (LinkedList<String>)color1List.clone();
                                                                    ^
1 error

我试图查找,但没有找到任何理由。程序出了什么问题??

2 个答案:

答案 0 :(得分:0)

列表没有克隆方法。 改为:

LinkedList<String> color1List = new LinkedList<String>();

如果你想把它留下一个清单,你就必须做一些有点难看的事情:

List clonedList = (LinkedList) ((LinkedList) color1List).clone();

答案 1 :(得分:-1)

List类没有克隆方法。见这里:

How do I clone a generic List in Java?

考虑使用ArrayList,因为存储的所有对象都是字符串。