我希望将set接口的所有值一起作为逗号分隔的字符串。
例如(Java语言):
Set<String> fruits= new HashSet<String>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
如果我将设置打印为fruits.toString
,则输出将为:
[Apple, Banana, Orange]
但我的要求是Apple, Banana, Orange
没有方括号。
答案 0 :(得分:3)
我假设这是Java。
MartinodF快速而肮脏的toString().substring
方法可行,但您真正需要的是join
方法。如果您进行了大量的字符串操作,我建议您查看Apache Commons Lang库。它提供了许多Java标准库中缺少的有用功能,包括一个可以让你这样做的StringUtils类:
Set fruits = new HashSet();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
String allFruits = StringUtils.join(fruits, ", ");
// allFruits is now "Apple, Banana, Orange"
答案 1 :(得分:1)
又快又脏:
value.toString().substring(1, value.toString().length - 1);
答案 2 :(得分:1)
假设C#3.5
var fruits = new HashSet<string>();
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Orange");
Console.WriteLine(string.Join(", ",fruits.ToArray()));
答案 3 :(得分:0)
使用来自commons lang的StringUtils.join
Set fruits = new HashSet();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
System.out.println(StringUtils.join(fruits, ','));