Java 如果我实现了comparator,为什么会出现类强制转换异常?

Java 如果我实现了comparator,为什么会出现类强制转换异常?,java,classcastexception,comparator,sortedset,Java,Classcastexception,Comparator,Sortedset,请看一下这个: 我有一个分类数据集: SortedSet<Individual> individualSortedSet = new TreeSet<Individual>(new FitnessComparator()); individualSortedSet.add(individual); 我得到以下运行时错误: Exception in thread "main" java.lang.ClassCastException: Individual canno

请看一下这个:

我有一个分类数据集:

SortedSet<Individual> individualSortedSet = new TreeSet<Individual>(new FitnessComparator()); 
individualSortedSet.add(individual);
我得到以下运行时错误:

Exception in thread "main" java.lang.ClassCastException: Individual cannot be cast to java.lang.Comparable
我真的不明白为什么。我已经查看了以下链接,但无法使其正常工作


代码中有一个不同的sortedList,定义如下:

SortedSet<Individual> individualSortedSet = new TreeSet<Individual>(); 
SortedSet individualSortedSet=新树集();
我没看见我又申报了。。这是正确的声明:

SortedSet<Individual> individualSortedSet = new TreeSet<Individual>(new FitnessComparator()); 
SortedSet individualSortedSet=新树集(新FitnessComparator());

individualSortedSet.add(individual)中,根据Kayaman的问题,您从哪一行获得异常有没有其他的
个人
类在这里混淆了?我刚刚意识到我使用的是不同的SortedSet,我没有添加“new FitnessComparator()”。Intellij将其更改为,但我没听清楚!非常感谢。它已修复-现在查看另一个错误:-/抱歉,下次我将仔细查看异常所在的行。。
SortedSet<Individual> individualSortedSet = new TreeSet<Individual>(new FitnessComparator());