中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Java對List對象進行排序
來源:易賢網 閱讀:3038 次 日期:2015-04-10 14:41:11
溫馨提示:易賢網小編為您整理了“Java對List對象進行排序”,方便廣大網友查閱!

有時候需要對List對象進行排序,如果每一處都去寫一個排序方法,就會產生重復代碼的壞味道,而且每一處都寫,工作量會很大。

我們知道,Java提供了一個Collections.sort()方法可以對List排序,利用Java反射機制,很容易就能寫出一個通用的排序方法。

為了防止出現不按照getter,setter規范命名的POJO類,我不打算動態調用getXXX()方法,而是直接獲取對象的屬性值。為了達到不論是否是public成員變量,都能獲取到的目的,在獲取到Field后,調用了setAccessible(true); 來設置訪問權限。

具體代碼如下:

[java] view plain copy 在CODE上查看代碼片 派生到我的代碼片

/**

* 對List對象按照某個成員變量進行排序

* @param list List對象

* @param sortField 排序的屬性名稱

* @param sortMode 排序方式:ASC,DESC 任選其一

*/

public static <T> void sortList(List<T> list, final String sortField, final String sortMode) {

Collections.sort(list, new Comparator<T>() {

@Override

public int compare(T o1, T o2) {

try {

Class clazz = o1.getClass();

Field field = clazz.getDeclaredField(sortField); //獲取成員變量

field.setAccessible(true); //設置成可訪問狀態

String typeName = field.getType().getName().toLowerCase(); //轉換成小寫

Object v1 = field.get(o1); //獲取field的值

Object v2 = field.get(o2); //獲取field的值

boolean ASC_order = (sortMode == null || "ASC".equalsIgnoreCase(sortMode));

//判斷字段數據類型,并比較大小

if(typeName.endsWith("string")) {

String value1 = v1.toString();

String value2 = v2.toString();

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("short")) {

Short value1 = Short.parseShort(v1.toString());

Short value2 = Short.parseShort(v2.toString());

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("byte")) {

Byte value1 = Byte.parseByte(v1.toString());

Byte value2 = Byte.parseByte(v2.toString());

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("char")) {

Integer value1 = (int)(v1.toString().charAt(0));

Integer value2 = (int)(v2.toString().charAt(0));

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("int") || typeName.endsWith("integer")) {

Integer value1 = Integer.parseInt(v1.toString());

Integer value2 = Integer.parseInt(v2.toString());

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("long")) {

Long value1 = Long.parseLong(v1.toString());

Long value2 = Long.parseLong(v2.toString());

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("float")) {

Float value1 = Float.parseFloat(v1.toString());

Float value2 = Float.parseFloat(v2.toString());

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("double")) {

Double value1 = Double.parseDouble(v1.toString());

Double value2 = Double.parseDouble(v2.toString());

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("boolean")) {

Boolean value1 = Boolean.parseBoolean(v1.toString());

Boolean value2 = Boolean.parseBoolean(v2.toString());

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("date")) {

Date value1 = (Date)(v1);

Date value2 = (Date)(v2);

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else if(typeName.endsWith("timestamp")) {

Timestamp value1 = (Timestamp)(v1);

Timestamp value2 = (Timestamp)(v2);

return ASC_order ? value1.compareTo(value2) : value2.compareTo(value1);

}

else {

//調用對象的compareTo()方法比較大小

Method method = field.getType().getDeclaredMethod("compareTo", new Class[]{field.getType()});

method.setAccessible(true); //設置可訪問權限

int result = (Integer)method.invoke(v1, new Object[]{v2});

return ASC_order ? result : result*(-1);

}

}

catch (Exception e) {

String err = e.getLocalizedMessage();

System.out.println(err);

e.printStackTrace();

}

return 0; //未知類型,無法比較大小

}

});

}

更多信息請查看IT技術專欄

更多信息請查看網絡編程
易賢網手機網站地址:Java對List對象進行排序
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产日韩一区| 午夜精品视频网站| 欧美视频第二页| 国产精品久99| 欧美色中文字幕| 欧美精品一卡| 玖玖玖免费嫩草在线影院一区| 欧美精品久久一区| 国产精品扒开腿爽爽爽视频| 欧美日韩一区二区三区四区在线观看| 欧美三级网址| 国产亚洲精品成人av久久ww| 在线播放中文一区| 亚洲精品久久久久久下一站| 亚洲欧美日韩久久精品| 久久色在线播放| 欧美日韩不卡| 国产一区二区日韩精品欧美精品| 国内精品美女在线观看| 亚洲精品国精品久久99热一| 9i看片成人免费高清| 亚洲欧美激情视频| 亚洲香蕉视频| 免费一级欧美片在线播放| 亚洲精选视频在线| 国产精品日韩欧美一区二区三区 | 91久久线看在观草草青青| 久久在精品线影院精品国产| 亚洲激情成人| 国产自产女人91一区在线观看| 久久亚洲一区| 日韩亚洲欧美成人| 久久综合久久久久88| 亚洲精品国产精品国自产在线| 欧美日韩在线一区二区三区| 美国十次成人| 91久久精品国产91久久性色| 欧美日韩国产免费观看| 亚洲欧洲av一区二区三区久久| 另类激情亚洲| 亚洲午夜精品一区二区| 国模 一区 二区 三区| 蜜桃av噜噜一区| 久久精品av麻豆的观看方式 | 久久国产88| 午夜久久久久| 国产精品欧美日韩一区| 亚洲卡通欧美制服中文| 欧美一级网站| 国内自拍一区| 久久久精品欧美丰满| 国产日产高清欧美一区二区三区| 欧美在线高清视频| 国产精品视频久久一区| 一区二区三区产品免费精品久久75| 国产一区美女| 美国成人毛片| 久久精品国产精品亚洲精品| 亚洲国产高潮在线观看| 亚洲电影一级黄| 欧美日韩视频| 亚洲黄色在线看| 国产精品扒开腿做爽爽爽视频| 狠狠色狠狠色综合日日五| 欧美国产日韩一区二区三区| 亚洲在线一区二区三区| 国产伦精品一区二区三区在线观看 | 在线观看成人av电影| 亚洲黄页一区| 亚洲缚视频在线观看| 久久精品1区| 久久国产加勒比精品无码| 国产精品国产a| 国产一区二区三区久久久久久久久| 亚洲资源在线观看| 久久xxxx| 最新高清无码专区| 欧美成人午夜剧场免费观看| 国产亚洲精品v| 国产日韩欧美a| 欧美日韩在线高清| 你懂的视频一区二区| 老妇喷水一区二区三区| 欧美激情亚洲另类| 欧美成人午夜激情在线| 美女视频一区免费观看| 亚洲一区精品在线| 一区二区三区国产在线| 亚洲手机视频| 亚洲电影一级黄| 最新国产の精品合集bt伙计| 亚洲福利电影| 亚洲精品日韩欧美| 午夜欧美不卡精品aaaaa| 欧美一区二区三区在线看| 在线成人激情黄色| 在线国产亚洲欧美| 欧美高清hd18日本| 国产精品国产馆在线真实露脸| 欧美日韩国产三级| 欧美午夜在线观看| 欧美日韩八区| 国产视频综合在线| 国内自拍一区| 欧美日韩一区二区三区视频 | 久久永久免费| 欧美久久久久久久| 国产精品户外野外| 国产欧美日韩伦理| 亚洲第一二三四五区| 亚洲免费av观看| 亚洲免费观看高清完整版在线观看| 日韩一级二级三级| 在线综合亚洲欧美在线视频| 夜夜爽99久久国产综合精品女不卡 | 亚洲国产精品一区二区www| 这里只有精品丝袜| 影音先锋日韩精品| 99re热这里只有精品免费视频| 亚洲午夜激情在线| 欧美高清在线观看| 国产精品一区在线播放| 1000精品久久久久久久久| 亚洲一区在线免费| 欧美成人四级电影| 国产精品免费看| 国产一区在线视频| 久久噜噜噜精品国产亚洲综合| 麻豆精品视频在线观看| 欧美午夜视频在线观看| 日韩视频免费| 久久久在线视频| 国产精品久久久久91| 国产精品裸体一区二区三区| 日韩一区二区高清| 看片网站欧美日韩| 国产精品久久久久永久免费观看| 亚洲国产美女| 欧美一级专区| 国产色综合网| 亚洲欧美成人一区二区在线电影| 欧美xart系列高清| 亚洲激情国产| 麻豆乱码国产一区二区三区| 国产日韩欧美高清| 在线亚洲伦理| 欧美精品一区二区三区在线看午夜| 黄色日韩精品| 久久久噜噜噜| 狠狠色伊人亚洲综合网站色| 亚洲在线免费| 国产精品一区二区在线观看网站 | 国产精品久99| 亚洲精选大片| 欧美久久久久中文字幕| 一区二区三区四区国产| 欧美日韩国产区| 亚洲精品国产精品国自产在线| 99精品视频一区| 欧美日韩国产首页在线观看| 亚洲娇小video精品| 久久在线免费| 亚洲最新视频在线播放| 欧美理论在线| 亚洲黄色有码视频| 欧美国产一区二区| 亚洲免费在线播放| 黑人操亚洲美女惩罚| 欧美精品久久久久久久久老牛影院| 亚洲在线观看| 亚洲国产精品一区二区www| 国产精品啊啊啊| 久久天天躁狠狠躁夜夜av| 日韩视频中文字幕| 好吊妞**欧美| 欧美天天视频| 免费在线视频一区| 亚洲欧美综合国产精品一区| 亚洲高清不卡在线观看| 国产精品理论片| 欧美精品一区三区在线观看| 亚洲欧美日韩直播| 亚洲精品之草原avav久久| 国产欧美日韩伦理| 欧美日韩国产一区| 久久色在线播放| 午夜国产精品视频免费体验区| 亚洲欧洲一区二区三区| 国产一区91| 国产精品欧美在线| 欧美日韩在线影院| 欧美久久久久免费| 欧美成人国产一区二区| 久久久xxx| 欧美一区二区三区四区高清| 一区二区三区 在线观看视频| 亚洲黄色av一区| 一色屋精品视频免费看| 国产日韩欧美亚洲| 国产精品免费看|