如何在与Java对象的所有成员匹配的Java对象列表中进行关键字搜索

问题描述 投票:1回答:2

我有一个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流进行搜索,但我认为会有更好的方法。还有其他建议吗?

java search collections
2个回答
0
投票

您可以使用reflection遍历所有字段并比较值,因此请在Employee类中创建此方法:


0
投票

我的建议是精确设计您需要的内容,即要搜索的术语列表。当然,您必须编写一些无聊的代码才能将对象编组到术语列表中,但是只需要执行一次即可,然后您便有了一个干净的设计。

© www.soinside.com 2019 - 2024. All rights reserved.