我创建了一个简单的字符串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)也无济于事。
答案 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.*;
以避免此错误。