已有101人关注
集合类的一点问题
发表在Java图书答疑 2017-09-19 《Java从入门到精通(第4版)》第14章 集合类
是否精华
版块置顶:

import java.util.*;

public class UpdateStu implements Comparable<Object> {

String name;

long id;

public UpdateStu(String name, long id) {

this.id = id;

this.name = name;

}

public int compareTo(Object o) {

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<UpdateStu> tree = new TreeSet<>();

tree.add(stu1);

tree.add(stu2);

tree.add(stu3);

tree.add(stu4);

Iterator<UpdateStu> 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());

}

}

}

为什么这段代码的ID都是01011这之类的数字,最后输出出来的结果都是三位数的呢。

QQ图片20170919202505.png


分享到:
精彩评论 1
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2017-09-20
沙发

数字类型前面不要以0开头,否则就把id改成String类型。0开头会自动转为8进制数字

首页上一页 1 下一页尾页 1 条记录 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经营性网站备案信息 营业执照