列表排序<Object>

Sorting of List<Object>

我需要按产品的高到低和低到高对产品进行排序 Price.I 已经使用以下方法从低到高 code.But 不知道如何实现从高到低?

非常感谢您的回答...

 public static Comparator<Restaurant_Beam> strPriceFilterL2H = new Comparator<Restaurant_Beam>() {

      @Override
        public int compare(Restaurant_Beam lhs, Restaurant_Beam rhs) {
            int CompareResult = 0;
            if (Config.L2HFilterClicked == "L2H") {
                CompareResult = (int) Math.round(Double.parseDouble(lhs.getIG_SALES_PRICE()) - Double.parseDouble(rhs.getIG_SALES_PRICE()));

            } 
//Used else if for H2L.But did not get it as perfect

else if (Config.L2HFilterClicked == "H2L") {
                CompareResult = (int) Math.round(Double.parseDouble(lhs.getIG_SALES_PRICE()) + Double.parseDouble(rhs.getIG_SALES_PRICE()));

            }
            return CompareResult;
        }
    };

将第二个比较表达式更改为这个:

CompareResult = (int) Math.round(Double.parseDouble(Double.parseDouble(rhs.getIG_SALES_PRICE()) - Double.parseDouble(lhs.getIG_SALES_PRICE()));

另外我想指出几点

  • 考虑与 epsilon
  • 进行 Double 比较
  • 在比较对象之前检查对象是一个好习惯
  • 每次比较都解析,真是糟糕的设计。如果你提前在某个地方解析值会更好,考虑改变你的类型。目前效率不高。