黑马程序员技术交流社区

标题: compareTo覆盖问题 [打印本页]

作者: 生活无极限    时间: 2015-5-11 19:31
标题: compareTo覆盖问题
mport java.io.*;
import java.util.*;
public class Test5 {
public static void main(String [] args)throws Exception{
  writerTo();
  show();
}
public static void writerTo()throws Exception{
  FileWriter fw=new FileWriter("Hi.txt");
  fw.write("61.54.231.245\r\n");
  fw.write("61.54.231.9\r\n");
  fw.write("61.54.231.246\r\n");
  fw.write("61.53.231.249\r\n");
  //fw.flush();
  fw.close();
}
  public static void show()throws Exception{
   BufferedReader bufr=new BufferedReader(new FileReader("Hi.txt"));
   String line=null;
   Set<IPAr> stree=new TreeSet<IPAr>();
   int x=0;
   
   while((line=bufr.readLine())!=null){
    String s=line;
    stree.add(new IPAr(line));
   }
   bufr.close();
   for(IPAr a:stree){
    System.out.println(a);
   }
  }
  
  

}
class IPAr implements Comparable<IPAr>{///问题就在这里,我明明覆盖了compareTo方法,为什么命令行总是说没覆盖呢,
private String ip;
IPAr(String ip){
  this.ip=ip;
}
public int compareTo(Object obj){
  if(!(obj instanceof IPAr))
   throw new RuntimeException("地址错误");
  IPAr a=(IPAr)obj;
  String[] sa=a.ip.split(".");
  String[] s=this.ip.split(".");
  for(int x=0;x<s.length;x++){
   int y=Integer.parseInt(s[x])-Integer.parseInt(sa[x]);
   if(y!=0)
    return y;
  }
  return 0;
}

}


作者: Doug    时间: 2015-5-11 19:31
public int compareTo(IPAr o) {
                // TODO Auto-generated method stub
                return 0;
        }

你指定泛型了
作者: 生活无极限    时间: 2015-5-11 22:24
Doug 发表于 2015-5-11 19:31
public int compareTo(IPAr o) {
                // TODO Auto-generated method stub
                return 0;

感谢万分,就是这么的一个小插曲搞得我够狼狈!!!
作者: 过路人    时间: 2015-5-13 22:49
代码太长了,没有耐心看完...
作者: 熊猫宝宝    时间: 2015-5-14 00:19
嗯,受教

作者: 行知灬哒    时间: 2015-5-14 11:08
帮顶一下 这个还没看到




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