已有101人关注
JAVA从入门到精通 例14.4
发表在Java图书答疑 2010-03-02
是否精华
版块置顶:
import java.util.*;
public class UpdateStu implements Comparable {//这个comparable接口的作用是?书里没有说明
String name;
long id;
public UpdateStu(String name, long id) {
this.id = id;
this.name = name;
}
public int compareTo(Object o) {   //可以解释一下这个compareto方法体中的代码的意思吗
UpdateStu upstu = (UpdateStu) o;
int result = id > upstu.id ? 1 : (id == upstu.id ? 0 : -1);
return result;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static void main(String[] args) {
UpdateStu stu1 = new UpdateStu("李同学", 01011);
UpdateStu stu2 = new UpdateStu("陈同学", 01021);
UpdateStu stu3 = new UpdateStu("王同学", 01051);
UpdateStu stu4 = new UpdateStu("马同学", 01012);
TreeSet tree = new TreeSet();
tree.add(stu1);
tree.add(stu2);
tree.add(stu3);
tree.add(stu4);
Iterator it = tree.iterator();
System.out.println("Set集合中的所有元素:");
while (it.hasNext()) {
UpdateStu stu = (UpdateStu) it.next();
System.out.println(stu.getId() + " " + stu.getName());
}
it = tree.headSet(stu2).iterator();
System.out.println("截取前面部分的集合:");
while (it.hasNext()) {
UpdateStu stu = (UpdateStu) it.next();
System.out.println(stu.getId() + " " + stu.getName());
}
it = tree.subSet(stu2, stu3).iterator();
System.out.println("截取中间部分的集合");
while (it.hasNext()) {
UpdateStu stu = (UpdateStu) it.next();
System.out.println(stu.getId() + " " + stu.getName());
}
}
}
结果怎么变成了521 522这些数字了?

谢谢
分享到:
精彩评论 3
free007
学分:0 LV1
2010-03-02
沙发
Comparable 是java api中的一个对象,用于对对象的比较
在实现此类后,就可以set集合进行排序
实例中用此对象起到一个排序的作用
backboy520
学分:0 LV1
2010-03-02
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
Comparable 是java api中的一个对象,用于对对象的比较
在实现此类后,就可以set集合进行排序
实例中用此对象起到一个排序的作用
[/FIELDSET]

回复:
为什么结果的数字变成了521 522   在创建对象的时候不是用的01011 01021这些吗, 是哪句代码造成的啊?
东北虎
学分:0 LV1
2010-03-03
地板
因为以0开头的数字是八进制数,转换为十进制数就是您看到的结果。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照