1. 程式人生 > >java 遍歷list 模糊查詢用

java 遍歷list 模糊查詢用

tle ear name span for 篩選 實體 判斷 str

java 遍歷list 模糊查詢用

 1 /**
 2      * 篩選list
 3      * @param list 要篩選的list
 4      * @param key 篩選的key
 5      * @param <T>
 6      * @return
 7      */
 8     private <T> List<T> Search(List<T> list, String key) {
 9         //如果查詢的值不是空的就走進來然後返回搜索後的值,否則返回原本的值
10         if
(list != null && list.size() > 0) { 11 //new一個新的容器 12 List<T> area = new ArrayList<>(); 13 boolean isok; 14 //循環olist集合 15 for (T t : list) { 16 //判斷a裏面如果包含了搜索的值,有就添加,沒有否則就不添加(會查出屬性名) 17 //if (t.toString().toUpperCase().indexOf(str) != -1)
18 //area.add(t); 19 isok = false; 20 //遍歷實體類,獲取屬性名和屬性值 21 for (Field field : t.getClass().getDeclaredFields()) { 22 field.setAccessible(true); 23 //下面是指定要查的屬性 24 //Item_FirstLetter Item_Name Item_Col1
25 switch (field.getName()) { 26 case "Item_FirstLetter": 27 try { 28 isok = field.get(t).toString().contains(key); 29 } catch (IllegalAccessException e) { 30 e.printStackTrace(); 31 } 32 break; 33 case "Item_Name": 34 try { 35 isok = field.get(t).toString().contains(key); 36 } catch (IllegalAccessException e) { 37 e.printStackTrace(); 38 } 39 break; 40 case "Item_Col1": 41 try { 42 isok = field.get(t).toString().contains(key); 43 } catch (IllegalAccessException e) { 44 e.printStackTrace(); 45 } 46 break; 47 } 48 if (isok) 49 break; 50 } 51 if (isok) 52 area.add(t); 53 } 54 return area; 55 } else { 56 return new ArrayList(); 57 } 58 }

java 遍歷list 模糊查詢用