java 遍歷list 模糊查詢用
阿新 • • 發佈:2017-11-10
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_Col125 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 模糊查詢用