import java.util.Comparator;public class Com<T> implements Comparator<T> {
    public int compare(T o1, T o2) {
        if (((T) o1).equals(o2)) 
            return 0;
        return ((Comparable<T>) o1).compareTo((T) o2) * -1;
    }
}注意:Com.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。D:\Java\save>javac Com.java -Xlint:unchecked
Com.java:7: 警告:[unchecked] 未经检查的类型使用
找到: T
需要: java.lang.Comparable<T>
        return ((Comparable<T>) o1).compareTo((T) o2) * -1;
                                ^
--------------------
以上是类和编译后的提示...按提示加了"import java.lang.Comparable;"还是不行.
这是个什么问题呢?

解决方案 »

  1.   

    因为TreeSet是以字典排序的,我想要一个与其相反的排序.想要实现compare();这个方法.
      

  2.   

    新手问问题,请问<T>这是一个类嘛?可以这样给自己的类取名字?
    Comparator是赶什么用的?
      

  3.   

    <T>泛型
    Comparator<T>是个接口刚学JAVA,很多东西勉强理解.
      

  4.   

    不行你把T改成具体的类型试试。要不楼主你的JDK用的是不是1.5啊。1.5之前的都不支持泛型
      

  5.   

    我的JDK是1.6.2的,算最新版啦.呵呵
      

  6.   

    把<T>去掉吧,有<T>的话,要求你的容器里的类都是 Com的
    好似是这样的