使用反射、泛性、JDK8分页完成代码融合改造
需求是所有的数据库表新加了几个字段。需要用到统一的方法。封装了一个基础方法。
以下代码是一个思路,可以参考以下:
/
* List<T> l数据
* Class<T> t 类型
* Long...l pageSize curePage
/
public <T>List<T> filter(List<T> l ,Class<T> t,Long...l){
Iterator<T> iterater=l.iterrator();
if(iterater.hasNext()){
T bean=iterator.next();
Filed filed=bean.getDeclaredField("xxxx");
filed.setAccessible(true);
Objcet value=filed.get(bean);
xxxxx....
}
doSomething() ;
//jdk8的分页写法
List l1=l.stream().skip(xxxx).collection(Collections.toList);
return l1;
}
public T getNewBean(T t){
Filed filed=bean.getDeclaredField("xxxx");
filed.setAccessible(true);
Objcet value=filed.get(t);
xxxxx....
return t;
}
普及以下泛型的概念以及反射的性能问题。
泛型使用简介以及介绍:
https://blog.csdn.net/weixin_45671534/article/details/122730758
反射的概念:
参考资料:https://www.jianshu.com/p/9be58ee20dee