java comparable实例_Java实例对象间的比较(实现Comparable接口)

int compareTo(T o)

Compares this object with the specified object for order.  Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

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);

}

@Override

public int compareTo(Object o) {

Name n = (Name)o;

int lastCmp = lastName.compareTo(n.lastName);

return (lastCmp!=0 ? lastCmp:firstName.compareTo(n.firstName));

}

}

public static void main(String[] args) {

List ll = new LinkedList();

ll.add(new Name("Karl","M"));

ll.add(new Name("Steven","Lee"));

ll.add(new Name("John","o"));

ll.add(new Name("Tom","M"));

System.out.println(ll);

Collections.sort(ll);

System.out.println(ll);

}

原文:http://www.cnblogs.com/oraclespace/p/3986655.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值