您的位置:首页 > 编程语言 > Java开发

jdk1.7和jdk1.6的Collections.sort方法不一样

2015-06-03 15:04 477 查看
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,其对对象间比较的实现要求更加严格
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: