Как получить данные из набора за один раз - PullRequest
0 голосов
/ 29 мая 2009

Я хочу получить все значения заданного интерфейса за один раз в виде строки, разделенной запятыми.

Например (язык Java):

Set<String> fruits=  new HashSet<String>();

fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");

Если я напечатаю набор как fruits.toString, то результат будет:

[Apple, Banana, Orange]

Но мое требование Apple, Banana, Orange без квадратных скобок.

Ответы [ 4 ]

3 голосов
/ 29 мая 2009

Я предполагаю, что это 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 голос
/ 29 мая 2009

Предполагая C # 3,5

var fruits = new HashSet<string>();

fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Orange");

Console.WriteLine(string.Join(", ",fruits.ToArray()));
1 голос
/ 29 мая 2009

Быстро и грязно:

value.toString().substring(1, value.toString().length - 1);
0 голосов
/ 29 мая 2009

Использование StringUtils.join из общего ресурса lang

Set fruits =  new HashSet();

fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");


System.out.println(StringUtils.join(fruits, ','));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...