为什么比较器停止工作?

问题描述 投票:-2回答:2

我有一个看起来像这样的方法来添加和排序:

  @Override
  public boolean add( Object o )
  {       
  boolean contains = false;
  for (Object : this) {       
      if (o1.getNum().equals(o.getNum())) {
          o = o1;
          contains = true;
          break;
      } 
  }

  if (contains) { 
      // merges
  } else {
      return //add;
  }

// Sorts ArrayList from highest to lowest product number   
    Collections.sort(this, new Comparator<Object>() {
        @Override
        public int compare(Object o1, Object o2) {
            Integer f = // get number;
            Integer s = // get number;
            if (f == s) {
                return 0;
            } else
            return f>s ? 1 : -1;
        }
   });


return true;
}

}

在没有任何其他代码的情况下,collections.sort完美地运行。但是,在第一部分添加后,它已停止工作。任何想法如何让它再次运作?

java sorting arraylist collections comparator
2个回答
0
投票

我移动了我的代码并在return // add之后立即放置了collection.sort;


0
投票

如果产品产生的值不是整数,Integer.parseInt会抛出NumberFormatException吗?

© www.soinside.com 2019 - 2024. All rights reserved.