将 Java Set<String> 转换为 Java 逗号分隔字符串

Sug*_*jan 3 java string set

我有一个java集

private Set<String> packageCategories;
Run Code Online (Sandbox Code Playgroud)

它的值为 ['Abc','Def']。我想在 UI 中显示 packageCategories 的值,该值现在显示为 ['Abc','Def'],但我想将其简单地显示为 'Abc', 'Def'。

我试过

String.join(",", packageCategories);
context.put("packageCategories", packageCategories);
Run Code Online (Sandbox Code Playgroud)

我收到编译错误

 incompatible types: java.util.Set<java.lang.String> cannot be converted to java.lang.String.
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这个目标?我在 StackOverflow 中搜索,它有将 List 转换为逗号分隔字符串的答案。但我没有找到任何将 Set 转换为逗号分隔字符串的答案。

以最快的方式将 Set<String> 的内容放入单个字符串并用空格分隔单词中给出的答案?对我不起作用。

PS:我不是JAVA开发人员。

Nic*_*s K 5

您可以使用流实现相同的目的:

String collect = packageCategories.stream().collect(Collectors.joining(","));
Run Code Online (Sandbox Code Playgroud)

通过您的原始代码片段,您可以使用:

String.join(",", packageCategories).replaceAll("[\\[\\]]", "")
Run Code Online (Sandbox Code Playgroud)


Mon*_*eed 5

您需要使用 StringUtils 而不是 String

    StringUtils.join(packageCategories,",")
Run Code Online (Sandbox Code Playgroud)