对于符合JAVA Bean规范的bean,调用其方法应优先使用java.beans.PropertyDescriptor获取Method进行方法调用,以获得更大的可维护性。
public void gridColumnFilter(List<?> list, Map<String, Object> dataMap){ for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) { Object bean = iterator.next(); for (int i = 0; i < indexs.length; i++) { //使用反射类 PropertyDescriptor pd = new PropertyDescriptor( indexs[i], bean.getClass()); Method getter = pd.getReadMethod(); if (!String.valueOf(getter.invoke(bean)).toLowerCase().contains(values[i].toLowerCase())) { iterator.remove(); break; } } } }
//通过class.forName或得类信息
public <T> List<T> getResultListFromCache(Object jsonObject,
Class<T> className) throws ClassNotFoundException {
List<T> list = new ArrayList<T>();
list = (List<T>) JSONArray.toCollection(
JSONArray.fromObject(jsonObject),
Class.forName(className.getName()));
return list;
}
时间: 2025-01-16 23:44:47