转换Java集合<;字符串>;到Java逗号分隔字符串

转换Java集合<;字符串>;到Java逗号分隔字符串,java,string,set,Java,String,Set,我有一套java软件 private Set<String> packageCategories; 我得到编译错误 incompatible types: java.util.Set<java.lang.String> cannot be converted to java.lang.String. 不兼容类型:java.util.Set无法转换为java.lang.String。 我怎样才能做到这一点?我在StackOverflow中搜索,它有将列表转换为逗号分

我有一套java软件

private Set<String> packageCategories;
我得到编译错误

 incompatible types: java.util.Set<java.lang.String> cannot be converted to java.lang.String.
不兼容类型:java.util.Set无法转换为java.lang.String。
我怎样才能做到这一点?我在StackOverflow中搜索,它有将列表转换为逗号分隔字符串的答案。但我没有找到任何将集合转换为逗号分隔字符串的答案

中给出的答案对我不适用


PS:我不是JAVA开发人员。

您可以使用streams实现同样的功能:

String collect = packageCategories.stream().collect(Collectors.joining(","));
对于原始代码段,您可以使用:

String.join(",", packageCategories).replaceAll("[\\[\\]]", "")

您需要使用StringUtils而不是String

    StringUtils.join(packageCategories,",")

String.join(“,”,packageCategories)
应该有效请显示完整的代码()。您显示的代码不对错误负责,因为它可以正常工作,因为
Set
属于
i类型。请在执行显示的位置共享代码。看起来您是在打印集合而不是每个项目。你需要一个循环来完成这个任务。@magerine:不一定。它也适用于
Set
。显示的代码OP不对错误负责。我得到[6496,89]找不到符号[exec][error]符号:变量收集器[exec][error]位置:class com.collabnet.ctf.monitoring.MonitoringHelperBean[exec][error]->[Help 1]以使用收集器。您正在使用哪个版本的java?这两种解决方案都只能在java 1.8和更高版本上使用。导入java.util.stream.Collectors并使用您的答案即可。请在你的回答中也加上这个。如果您正在使用IDE,则自动导入将为您获取该IDE:)
    StringUtils.join(packageCategories,",")