试图使用Collections.sort(ArrayList <string>)和Collections.sort(ArrayList <string>,Comparator)没有运气</string> </string>

时间:2014-04-13 16:14:48

标签: java sorting collections

我创建了一个简单的字符串arraylist:

ArrayList<String> filmDirectory = new ArrayList<String>();
filmDirectory.add("Gone with the Wind");
filmDirectory.add("The Sound of Music");
filmDirectory.add("The Titanic");
Collections.sort(filmDirectory);

编译器提示我将filmDirectory放到列表中,我这样做,虽然我不明白为什么要这样做,因为ArrayList是List的扩展。

当代码达到:

Collections.sort((List)filmDirectory);

我有一个编译器错误: java.lang.ClassCastException:java.util.ArrayList无法强制转换为acmx.export.java.util.List

实现Comparator并为当前类定义比较方法并使用Collections.sort(filmDirectory,this)也无济于事。

3 个答案:

答案 0 :(得分:1)

您似乎为Collections导入了错误的包:您使用的是acmx.export.java.util而不是java.util.*

答案 1 :(得分:1)

您应该导入 java.util 包的 List ArrayList 类。删除有关 acmx.export.java.util 包的导入,并添加以下两行导入:

import java.util.List
import java.util.ArrayList

它应该可以解决你的问题。

答案 2 :(得分:0)

尝试添加import java.util.*;以避免此错误。