根据某个字段查询包含某个值得集合

// 根据某个字段判断某个对象是否在一个集合中

使用Predicate和反射机制实现

public static Collection checkList(List list, final String fieldStr,

final String valueStr) {

Predicate predicate = new Predicate() {

@Override

public boolean evaluate(Object obj) {

T t = (T) obj;

Field field;

try {

field = t.getClass().getDeclaredField(fieldStr);

field.setAccessible(true);//获取私有属性的时候必须先设置Accessible为true,然后才能获取

String value = (String) field.get(t);

return valueStr.equals(value);

} catch (NoSuchFieldException e) {

return false;

} catch (IllegalAccessException e) {

return false;

} catch (IllegalArgumentException e) {

return false;

}

}

};

Collection filterResult = CollectionUtils.select(list, predicate);

return filterResult;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,264评论 19 139
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 9,789评论 0 16
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,730评论 18 399
  • ``` /* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject ...
    非专业码农阅读 2,750评论 0 0
  • 躺在床上听着歌,会想着一天乱七八糟的事情。 不知道,现在的你还记得曾经与你那么亲近,那么甜蜜的那个人么。 如果记得...
    初见悦心阅读 1,265评论 0 1

友情链接更多精彩内容