黑马程序员技术交流社区

标题: Comparator中的一些问题???? [打印本页]

作者: 付凯鹏    时间: 2013-11-14 14:16
标题: Comparator中的一些问题????
package com.itheima;
import java.util.*;
public class TrSet {
        public static void main(String[] args){
                TreeSet<String> t=new TreeSet<String>(new MyComparator());
                t.add("jik");
                t.add("k");
                t.add("kuii");
                t.add("jo");
                Iterator<String> it=t.iterator();
                while(it.hasNext())
                {
                        System.out.println(it.next());
                }
        }

}
class MyComparator implements Comparator{
        public int Compare(Object o1,Object o2){
                String s1=(String)o1;
                String s2=(String)o2;
                int num=new Integer(s1.length()).compareTo(new Integer(s2.length()));
                if(num==0)
                        return s1.compareTo(s2);
                return num;
        }
}
如上面程序。系统为什么提示我MyComparator出错了,它不是类名?按自己的习惯定义吗????



作者: linjl_ll    时间: 2013-11-14 14:22
MyComparator 类中的Compare方法你开头第一个是大写的,改成compare就ok了。你那个是大写的话,就没有实现Comparator接口中的compare方法,而是在类中定义了一个Compare方法,所以这个类是抽象了,当然按照你的的逻辑是想实现这个接口的。
作者: Weix1992    时间: 2013-11-14 14:24
class MyComparator implements Comparator

我把你的代码放到MYECLIPSE中 提示你没有重写public int compare(Object o1, Object o2)

发现你的C是大写!  同学注意注意啊  看看是不是这个问题
作者: 付凯鹏    时间: 2013-11-14 14:27
非常感谢,总是犯这些低级错误。以后会好好注意的。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2