我有一个List<Employee>
,其中包含多个成员,例如ID,名称,名称,级别,角色,域,帐户等。我想针对整个列表中Employee
的所有成员搜索关键字,并返回包含所有匹配实例Employee
的列表。
这里是我的Employee
类的示例:
public class Employee
{
public String name { get; set; }
public String email { get; set; }
public String designation{ get; set; }
public String level { get; set; }
public String domain { get; set; }
public String role { get; set; }
}
更像是在沃尔玛或亚马逊等任何电子商务网站上进行的关键字搜索。
我不想在循环中编写一系列if语句来匹配每个成员。我认为一种方法是创建另一个字符串,该字符串保存Employee
对象中每个成员的连接值,然后使用Java 8流进行搜索,但我认为会有更好的方法。还有其他建议吗?
您可以使用reflection
遍历所有字段并比较值,因此请在Employee
类中创建此方法:
我的建议是精确设计您需要的内容,即要搜索的术语列表。当然,您必须编写一些无聊的代码才能将对象编组到术语列表中,但是只需要执行一次即可,然后您便有了一个干净的设计。