根据一个或多个条件从列表中搜索对象

时间:2015-08-22 12:14:44

标签: java

我需要在java中编写一个方法,以便从对象列表中搜索对象。问题在于搜索的标准。我可能需要根据一个标准或多个标准的组合搜索对象,这些标准将在运行时决定。我如何继续使用它?

1 个答案:

答案 0 :(得分:0)

您可以使用Reflection,将以下代码作为提示: -

for(ObjectToBeSearched bean:objectList){
    Field field = bean.getClass().getDeclaredField("searchKey");
    String searchKeyVal=field.get(bean);
    if(criteria.equals(searchKeyVal)){
    System.out.println("Object found!!!");
    }
    }

方法应该是: - 传递一个HashMap,其中key是对象属性名称,value将是其需要搜索的值。
1)现在使用Map键可以获得java.lang.reflect.Field 2)使用反射获取Field值的值 3)现在将它与存储的对应于相应密钥的HashMap中的值进行比较。

传递给方法的Map绝对是动态的。