我正在从数据库中以一串项目的形式接收数据,例如"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或其他类似数据,在这种情况下,您可能应该使用解析器,该解析器将自动处理引号。