我正在从数据库中以一串项目的形式接收数据,例如"Nike, Adidas, Reebok"

String data = "Nike, Adidas, Reebok";

我有一个算法,该算法使用以下所示的方法接收列表:

itemSetList.add(new HashSet<>(Arrays.asList("Nike", "Adidas","Reebok")));


变量itemSetList的形式为:

List<Set<String>> itemsetList;


初始化为:

itemSetList = new ArrayList<>();


如何将在字符串data = "Nike, Adidas, Reebok"中获得的值更改为"Nike", "Adidas", "Reebok"形式,以将其添加到itemSetList?

最佳答案

您可以使用定界符,\\s?分割输入字符串,用引号将每双鞋子包裹起来,然后使用结果数组形成一个集合。

String data = "Nike, Adidas, Reebok";
String[] shoes = data.split(",\\s?");
for (int i=0; i < shoes.length; ++i) {
    shoes[i] = "\"" + shoes[i] + "\"";
}
Set<String> shoesSet = new HashSet<String>(Arrays.asList(shoes));


然后按照您的计划使用该集:

itemSetList.add(shoesSet);


但是,我觉得您可能正在处理JSON或其他类似数据,在这种情况下,您可能应该使用解析器,该解析器将自动处理引号。

10-08 09:31