Java如何利用反射对list对象做过滤
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,小编给大家分享一下Java如何利用反射对list对象做过滤,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!反射对效率有影响 慎用!!!1.对象结构public class Busine
千家信息网最后更新 2026年10月31日Java如何利用反射对list对象做过滤
小编给大家分享一下Java如何利用反射对list对象做过滤,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
反射对效率有影响 慎用!!!
1.对象结构
public class BusinessDept {private String year;//年private String month;//月private String deptName;//部门名称private String deptLeader;//部门负责人private Double jyz; //经营值private Double rev; //收入private Double exp; //支出private Double tWorkTime; //填报工时private Double sWorkTime; //标准工时private Double param; //经营参数public void setYear(String year) {this.year = year;}public void setMonth(String month) {this.month = month;}public void setDeptName(String deptName) {this.deptName = deptName;}public void setDeptLeader(String deptLeader) {this.deptLeader = deptLeader;}public void setJyz(Double jyz) {this.jyz = jyz;}public String getYear() {return year;}public String getMonth() {return month;}public String getDeptName() {return deptName;}public String getDeptLeader() {return deptLeader;}public Double getJyz() {return jyz;}public Double getRev() {return rev;}public Double getExp() {return exp;}public Double gettWorkTime() {return tWorkTime;}public Double getsWorkTime() {return sWorkTime;}public Double getParam() {return param;}public void setRev(Double rev) {this.rev = rev;}public void setExp(Double exp) {this.exp = exp;}public void settWorkTime(Double tWorkTime) {this.tWorkTime = tWorkTime;}public void setsWorkTime(Double sWorkTime) {this.sWorkTime = sWorkTime;}public void setParam(Double param) {this.param = param;}public E get(String name) {Class cl = this.getClass();Field[] fields = cl.getDeclaredFields();try {for (Field field : fields) {field.setAccessible(true);if (field.getName().equals(name)) {return (E) field.get(this);}}} catch (IllegalAccessException e) {e.printStackTrace();}return null;}} 2.根据字段名获取value
publicE get(String name) {Class cl = this.getClass();Field[] fields = cl.getDeclaredFields();try {for (Field field : fields) {field.setAccessible(true);if (field.getName().equals(name)) {return (E) field.get(this);}}} catch (IllegalAccessException e) {e.printStackTrace();}return null;}
3.对list过滤
List businessDeptList = this.myQuery();//筛选符合条件的listif (businessDeptList.size()>0){businessDeptList = this.filterExact("year",year,businessDeptList);businessDeptList = this.filterExact("month",month,businessDeptList);businessDeptList = this.filterVague("deptName",deptName,businessDeptList);businessDeptList = this.filterVague("deptLeader",deptLeader,businessDeptList);if(!StringUtils.isEmpty(jyz)){businessDeptList = this.filterExact("jyz",Double.parseDouble(jyz),businessDeptList);}if(!StringUtils.isEmpty(param)){businessDeptList = this.filterExact("param",Double.parseDouble(param),businessDeptList);}if(!StringUtils.isEmpty(sWorkTime)){businessDeptList = this.filterExact("sWorkTime",Double.parseDouble(sWorkTime),businessDeptList);}if(!StringUtils.isEmpty(rev)){businessDeptList = this.filterExact("rev",Double.parseDouble(rev),businessDeptList);}if(!StringUtils.isEmpty(exp)){businessDeptList = this.filterExact("exp",Double.parseDouble(exp),businessDeptList);}if(!StringUtils.isEmpty(tWorkTime)){businessDeptList = this.filterExact("tWorkTime",Double.parseDouble(tWorkTime),businessDeptList);}}4.精确匹配
//精确匹配privateList filterExact(String name,T t,List businessDepts){if(t.toString().isEmpty()){return businessDepts;}List list = new ArrayList ();if(businessDepts.size()>0){for(int i = 0;i 5.模糊匹配
//模糊匹配private ListfilterVague(String name,String s,List businessDepts){if(s.isEmpty()){return businessDepts;}List list = new ArrayList ();if(businessDepts.size()>0){for(int i = 0;i 看完了这篇文章,相信你对"Java如何利用反射对list对象做过滤"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
对象
反射
精确
工时
篇文章
部门
经营
参数
名称
字段
完了
收入
效率
更多
条件
标准
知识
结构
行业
负责人
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技
广州万易互联网科技有限公司
重生之互联网科技帝国
国智互联网科技
科技股互联网
互联网科技资迅
互联网科技开发公司
互联网金融与金融科技
美国互联网科技
碳银互联网科技
迪茉互联网科技
小马过河互联网科技
四川狮子座互联网科技
互联网科技公司的市场部门
米聚互联网科技南京有限公司排面
神州科技互联网有限公司
互联网科技机房
恒生科技指数 中概互联网
安徽九吞吴互联网科技有限公司
高科技和互联网的现代国家
互联网科技工作委员会主任
金融科技还是互联网
互联网科技公司发展
科技互联网创业计划书
互联网科技融合创新
吉林省码上互联网科技电话
上海万顺科技互联网有限公司招聘
互联网时代高科技布局
马化腾互联网科技教学
陕西彩京云互联网科技有限公司