list根据对象进行排序
生活随笔
收集整理的這篇文章主要介紹了
list根据对象进行排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
package?com.hna.hka.mfm.gbs.car.uti;import?java.util.Collections; import?java.util.Comparator; import?java.util.List; import?java.lang.reflect.Method; import?java.lang.reflect.InvocationTargetException;import?com.sun.org.apache.xpath.internal.operations.Number;/***?@author?jardot*?@version?1.0?通用排序*/ public?class?SortList<E>?{@SuppressWarnings({?"unchecked",?"rawtypes"?})public?void?Sort(List<E>?list,?final?String?method,?final?String?sort)?{Collections.sort(list,?new?Comparator()?{@Overridepublic?int?compare(Object?a,?Object?b)?{int?ret?=?0;try?{Method?m1?=?((E)?a).getClass().getMethod(method,?null);Method?m2?=?((E)?b).getClass().getMethod(method,?null);String?aValue?=??m1.invoke(((E)?a),?null).toString().trim()!=null?m1.invoke(((E)?a),?null).toString().trim():"0";String?bValue?=??m1.invoke(((E)?b),?null).toString().trim()!=null?m1.invoke(((E)?b),?null).toString().trim():"0";int?aIntValue?=?(int)(Double.parseDouble(aValue)*100);int?bIntValue?=?(int)(Double.parseDouble(bValue)*100);if?(sort?!=?null?&&?"desc".equals(sort)){//?倒序/*ret?=?m2.invoke(((E)?b),?null).toString().compareTo(m1.invoke(((E)?a),?null).toString());*///ret?=?aInt?-?bInt;ret?=??bIntValue?-??aIntValue;}else{//?正序/*ret?=?m1.invoke(((E)?a),?null).toString().compareTo(m2.invoke(((E)?b),?null).toString());*/ret?=?aIntValue?-??bIntValue;;}}?catch?(NoSuchMethodException?ne)?{System.out.println(ne);}?catch?(IllegalAccessException?ie)?{System.out.println(ie);}?catch?(InvocationTargetException?it)?{System.out.println(it);}return?ret;}});} }轉載于:https://my.oschina.net/u/2255569/blog/335353
總結
以上是生活随笔為你收集整理的list根据对象进行排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: default argument giv
- 下一篇: POJ 2455Secret Milki