When creating an instance TreeSetwithout an explicit comparator, it expects the inserted elements to implement Comparablebut Classnot implement this interface.
To fix, create a comparator for Class:
Comparator<Class> classComp = new Comparator<Class>()
{
@Override
public int compare(Class o1, Class o2)
{
return o1.getName().compareTo(o2.getName());
}
};
TreeSet<Class> classes = new TreeSet<Class>(classComp);
source
share