请看一下:
我有一个排序集:
SortedSet<Individual> individualSortedSet = new TreeSet<Individual>(new FitnessComparator());
这是比较器:
import java.util.Comparator;
public class FitnessComparator implements Comparator<Individual> {
@Override
public int compare(Individual individual1, Individual individual2) {
if (individual1.getFitness() == individual2.getFitness())
return 0;
return (individual1.getFitness() > individual2.getFitness())? 1 : -1;
}
}
Individual 类只是一个数据类。
当我尝试将广告元素添加到 sortedset 时:
individualSortedSet.add(individual);
我收到以下运行时错误:
Exception in thread "main" java.lang.ClassCastException: Individual cannot be cast to java.lang.Comparable
我真的不明白为什么。我查看了以下链接,但我无法使其工作..
为什么在将元素添加到 TreeSet 时我没有得到类转换异常或其他东西
列表到 TreeSet 的转换产生:“java.lang.ClassCastException:MyClass 无法转换为 java.lang.Comparable”