黑马程序员技术交流社区
标题:
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