package Server;import java.io.Serializable;
public class Administrator implements Comparable<Administrator>,Serializable{
??????//<Administrator>为什么要加这个呀,是干什么用的呀.为什么去掉就出错.
private int id;
private String password;
public Administrator(String password){
id=Server.getServerDatabase().getNewAdmID()+1;
this.password=password;
}
public Administrator(int id){
this.id=id;
}
int getID(){
return id;
}
String getPassword(){
return password;
}
void setPassword(String password){
this.password=password;
}
public int compareTo(Administrator t){
boolean b=(id==t.getID());
return (b==true ? 0 : id>t.getID() ? 1 : -1);
}
public String toString(){
return "ID:"+id+" Password:"+password;
}
}??????//<Administrator>为什么要加这个呀,是干什么用的呀.为什么去掉就出错.
public class Administrator implements Comparable<Administrator>,Serializable{
??????//<Administrator>为什么要加这个呀,是干什么用的呀.为什么去掉就出错.
private int id;
private String password;
public Administrator(String password){
id=Server.getServerDatabase().getNewAdmID()+1;
this.password=password;
}
public Administrator(int id){
this.id=id;
}
int getID(){
return id;
}
String getPassword(){
return password;
}
void setPassword(String password){
this.password=password;
}
public int compareTo(Administrator t){
boolean b=(id==t.getID());
return (b==true ? 0 : id>t.getID() ? 1 : -1);
}
public String toString(){
return "ID:"+id+" Password:"+password;
}
}??????//<Administrator>为什么要加这个呀,是干什么用的呀.为什么去掉就出错.
int compareTo(Object o)
你需要在方法中自己判断参数o的类型,并进行类型转换。比如:
if (o instanceof Administrator){
Administrator adm = (Administrator)o;
}看了看API Spec,现在版本中Comparable是这样声明的,
interface Comparable<T>
再看它的唯一的方法的声明:
int compareTo(T o) ;这两个T是一致的。
这是泛型的用法,使用<T>来声明进行比较对象的类型,而不用在方法中自己判断。直接使用o就可以了