首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

问个compaerTo方法的有关问题

2012-12-15 
问个compaerTo方法的问题import java.util.*public class Compare{public static void main(String[] arg

问个compaerTo方法的问题

import java.util.*;

public class Compare{
public static void main(String[] args){
List l1=new LinkedList();
l1.add(new Name("Karl","M"));
l1.add(new Name("Steven","Lee"));
l1.add(new Name("Join","o"));
l1.add(new Name("Tom","M"));
System.out.println(l1);
Collections.sort(l1);
System.out.println(l1);
}
}

 class Name implements Comparable{
private String firstname,lastname; 
public Name(String firstname,String lastname){
this.firstname=firstname;
this.lastname=lastname;
}
public String getFirstname(){
return firstname;
}
public String getLastname(){
return lastname;
}
public String toString(){
return(firstname+" "+lastname);
}

public boolean equals(Object obj){
if(obj instanceof Name){
Name name=(Name)obj;
return(firstname.equals(name.firstname))&&(lastname.equals(name.lastname));
}
return super.equals(obj);
}

public int hashCode(){
return firstname.hashCode();
}

public int CompareTo(Object o){
Name n=(Name)o;
int lastCmp=lastname.compareTo(n.lastname);
return(lastCmp!=0?lastCmp:firstname.compareTo(n.firstname));
}
}


上面是LZ的小例子代码,但是我编译的时候有一个错误,说:Name is not abstract and does not override abstract method compareTo(java.lang.Object)in java.lang.Comparable
class Name implements Comparable{

[最优解释]
你的CompareTo方法名写错了是compareTo
[其他解释]
不是吧,说的不是很清楚了么?
Name is not abstract and does not override abstract method compareTo(java.lang.Object)in java.lang.Comparable
class Name implements Comparable{
就是你没有实现那个方法哈。
你的方法的名字都不对,应该是小写的。
[其他解释]
想问下高人,如何修改才能成功?
[其他解释]
引用:
不是吧,说的不是很清楚了么?
Name is not abstract and does not override abstract method compareTo(java.lang.Object)in java.lang.Comparable
class Name implements Comparable{
就是你没有实现那个方法哈。
你的方法的名字都不对……

我傻逼了。。。。
[其他解释]
引用:
你的CompareTo方法名写错了是compareTo
太2了我 愣是没看到
[其他解释]
你的方法名写错了,要实现的方法CompareTo应改成compareTo
[其他解释]
只要注意一下 就ok了 

热点排行