Tag: 设置了

为什么TreeSet会抛出ClassCastException

在下面的代码我试图添加两个员工对象 Set s = new TreeSet(); s.add(new Employee(1001)); s.add(new Employee(1002)); 但Result是java.lang.ClassCastException: Exception in thread “main” java.lang.ClassCastException: Employee cannot be cast to java.lang.Comparable at java.util.TreeMap.put(TreeMap.java:542) at java.util.TreeSet.add(TreeSet.java:238) at MyClient.main(MyClient.java:9) 但如果我换到。 Set s = new TreeSet(); s.add(new Employee(1001)); 要么 Set s = new HashSet(); s.add(new Employee(1001)); s.add(new Employee(1002)); 那么结果就是成功也没有例外。 我没有在上面的代码中进行任何类转换活动。 请帮我找出原因并建议我解决方案。