java Comparator逻辑不完整导致的诡异问题

Comparator<Integer> comparator = new Comparator<Integer>(){
   public int compare(Integer t1, Integer t2) {
   if(t1>t2){
   return 0;
   }
       return 1;
   }
};



普通的集合排序,这样写以后,取到的集合排序后的顺序是正确的,但是取出集合中的某个元素进行别的运算时,会出现计算不准的情况。 最后发现是集合排序逻辑不完整导致,逻辑完整需要分别讨论大于等于小于3种情况,分别返回1   0   -1  ,此时的返回结果如果别的地方调用参与计算才会正确无误。

猜你喜欢

转载自l67721363.iteye.com/blog/2205137
今日推荐