TreeSet 集合在Add时报错cannot be cast to java.lang.Comparable

来源:互联网 发布:js 跳转url 隐藏参数 编辑:程序博客网 时间:2024/06/04 17:47
//TreeSet 集合在Add时报错cannot be cast to java.lang.Comparablepublic class Test {public static void main(String[] args) {// TODO Auto-generated method stubSet<person> set = new TreeSet<person>(new AgeComparator());person p1 = new person("zhangsan", 16);person p2 = new person("lisi", 52);person p3 = new person("wangwu", 95);set.add(p1);set.add(p2);set.add(p3);Iterator<person> itt = set.iterator();while(itt.hasNext()){System.out.println(itt.next());}}}//需要继承使用比较器,然后不再报错class AgeComparator implements Comparator {      public int compare(Object object1, Object object2) {// 实现接口中的方法        person p1 = (person) object1; // 强制转换        person p2 = (person) object2;        return new Double(p1.getAge()).compareTo(new Double(p2.getAge()))*(-1);  //降序    }  }person类不再显示



阅读全文
1 0
原创粉丝点击