站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题java api 接口篇(二)下

java api 接口篇(二)下

摘要: compareTo 方法将接收对象与特定对象进行比较,并在接收对象小于、等于或大于特定对象时分别返回负整数、空或一个正整数......
 ?b>编写你自己的 Comparable 类型

  Comparable 接口由一个单一的方法构成:

public interface Comparable {
public int compareTo(Object o);
} 
 
  compareTo 方法将接收对象与特定对象进行比较,并在接收对象小于、等于或大于特定对象时分别返回负整数、空或一个正整数。如果特定对象不能与接收对象相比较,该方法扔出一个ClassCastException. 这是一个表示某人姓名的类(a class representing a person"s name), 它实现了 Comparable:
import java.util.*; 
 
public class Name implements Comparable {
private String firstName, lastName; 
 
public Name(String firstName, String lastName) {
if (firstName==null || lastName==null)
throw new NullPointerException();
this.firstName = firstName;
this.lastName = lastName;
} 
public String firstName() {return firstName;}
public String lastName() {return lastName;} 
 
public boolean equals(Object o) {
if (!(o instanceof Name))
return false;
Name n = (Name)o;
return n.firstName.equals(firstName) &&
n.lastName.equals(lastName);
} 
 
public int hashCode() {
return 31*firstName.hashCode() + lastName.hashCode();
} 
 
public String toString() {return firstName + " " + lastName;} 
 
public int compareTo(Object o) {
Name n = (Name)o;
int lastCmp = lastName.compareTo(n.lastName);
return (lastCmp!=0 ? lastCmp :
firstName.compareTo(n.firstName));
}
} 



↑返回目录
前一篇: Informix J/Foundation
后一篇: java api 接口篇(二)上