“线程中的异常”;“主要”;java.lang.ClassCastException:setcollection.EnSignant不能强制转换为java.lang.Compariable
线程“main”java.lang.ClassCastException中的异常: setcollection.EnSignant无法强制转换为java.lang.Compariable“线程中的异常”;“主要”;java.lang.ClassCastException:setcollection.EnSignant不能强制转换为java.lang.Compariable,java,exception,Java,Exception,线程“main”java.lang.ClassCastException中的异常: setcollection.EnSignant无法强制转换为java.lang.Compariable 公共类测试{ /** *@param指定命令行参数 */ 公共静态void main(字符串[]args){ nseignant e=新的nseignant(); Ensignant e1=新的Ensignant(1,“bargaoui”、“Haytem”); Ensignant e2=新Ensignant(1
公共类测试{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
nseignant e=新的nseignant();
Ensignant e1=新的Ensignant(1,“bargaoui”、“Haytem”);
Ensignant e2=新Ensignant(12,“islem”、“ben ahmed”);
System.out.println(e1.toString());
System.out.println(e2.toString());
System.out.println(e1等于(e2));
TreeSet TreeSet=新树集();
Enseignant E1=新Enseignant(1,“穆罕默德”、“本·布拉希姆”);
Ensignant E2=新的Ensignant(2,“imed”,“rouabi”);
Enseignant E3=新的Enseignant(3,“萨利姆”,“阿里”);
Enseignant E4=新的Enseignant(4,“zayneb”,“sassi”);
Enseignant E5=新的Enseignant(5,“khalid”、“louati”);
Enseignant E6=新的Enseignant(6,“hatem”、“himadi”);
树集。添加(E1);
树集。添加(E2);
树集。添加(E3);
树集。添加(E4);
树集添加(E5);
树集。添加(E6);
System.out.println(treeset.contains(E4));
System.out.println(treeset.contains(E1.getId());
System.out.println(treeset.remove(E6));
迭代器迭代器=treeset.Iterator();
//树上的装饰
System.out.println(“树集元素”);
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
线程“main”java.lang.ClassCastException中的异常:由于您使用的是树集,因此将进行一些比较,并且需要一个比较器 你可以做两件事
公共类EnSignant实现了可比较的{
...
公共内部比较(Ensignant其他){
//在这里比较
返回0;
}
...
}
TreeSet TreeSet=new TreeSet(new Comparator(){
公共整数比较(ENSIGNANT e1、ENSIGNANT e2){
//在这里进行比较。
返回0;
}
});
谢谢你,但是我可以在树集合中添加object Ensignat.,,,,,?@haythembargaoui:他刚才确实告诉过你了。您需要执行他提到的两项操作之一,才能将Enseignant
对象添加到树集中。
public class Test {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Enseignant e=new Enseignant();
Enseignant e1=new Enseignant(1,"bargaoui","haythem");
Enseignant e2=new Enseignant(12,"islem","ben ahmed");
System.out.println(e1.toString());
System.out.println(e2.toString());
System.out.println(e1.equals(e2));
TreeSet<Enseignant> treeset = new TreeSet<Enseignant>();
Enseignant E1=new Enseignant(1,"mohamed","ben brahim");
Enseignant E2=new Enseignant(2,"imed","rouabi");
Enseignant E3=new Enseignant(3,"salim","ali");
Enseignant E4=new Enseignant(4,"zayneb","sassi");
Enseignant E5=new Enseignant(5,"khalid","louati");
Enseignant E6=new Enseignant(6,"hatem"," himadi");
treeset.add(E1);
treeset.add(E2);
treeset.add(E3);
treeset.add(E4);
treeset.add(E5);
treeset.add(E6);
System.out.println(treeset.contains(E4));
System.out.println(treeset.contains(E1.getId()));
System.out.println(treeset.remove(E6));
Iterator iterator = treeset.iterator();
// afficher tous les éléments de TreeSet
System.out.println("éléments de TreeSet");
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
public class Enseignant implements Comparable<Enseignant> {
...
public int compareTo(Enseignant other) {
// Compare here
return 0;
}
...
}
TreeSet<Enseignant> treeset = new TreeSet<>(new Comparator<Enseignant>(){
public int compare(Enseignant e1, Enseignant e2) {
// Compare here.
return 0;
}
});