jdk1.7和jdk1.6的Collections.sort方法不一样
2015-06-03 15:06
579 查看
Java代码 Collections.sort(list, new Comparator<AAAVo>() { @Override public int compare(AAAVo vo1, AAA vo2) { if(vo1==null||vo2==null){ return 0; } if(Integer.valueOf(vo1.getCouponValue())<Integer.valueOf(vo2.getCouponValue())){ if(vo1.getConsumeTime().after(vo2.getConsumeTime())) { return 1; }else{ return -1; } }else{ return -1; } } }); 复制代码 如果有三条数据 value为50、10、10 jdk1.6的情况下走不到Java代码 if(vo1.getConsumeTime().after(vo2.getConsumeTime())) 1.7时可以走到。因为 在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,内部实现换成了TimSort,其对对象间比较的实现要求更加严格 |
相关文章推荐
- Spring 之注解事务 @Transactional
- SpringMVC视图解析器
- Spring 之注解事务 @Transactional
- jdk1.7和jdk1.6的Collections.sort方法不一样
- Spring 之注解事务 @Transactional
- spring ioc 笔记(Spring in action)
- java中的位操作问题
- struts2的零配置
- Spring MVC controller中返回json中午数据乱码,及HashMap转化json数据
- Java的日期格式化常用方法
- 使用Spring和Hibernate做一个留言板。
- spring+mybatis+atomikos 实现JTA事务
- Java中的instanceof关键字
- spring事件派发
- java I/O 操作及优化建议
- Eclipse程序打包
- 学习 Activiti5.13与springMVC整合,自学001期
- JAVA编程思想学习总结:第十四章类型信息
- Java中的集合--初级
- Java中对象创建与引用