List<String> ids = new ArrayList<String>();
ids.add("1");
ids.add("2");
ids.add("3");
ids.add("4");
Maintenant, je veux un résultat de cette liste en tant que 1,2,3,4 sans l'itérer complètement.
List<String> ids = new ArrayList<String>();
ids.add("1");
ids.add("2");
ids.add("3");
ids.add("4");
Maintenant, je veux un résultat de cette liste en tant que 1,2,3,4 sans l'itérer complètement.
Avec Java 8:
String csv = String.join(",", ids);
Avec Java 7-, il existe un mauvais moyen (remarque: cela ne fonctionne que si vous n'insérez pas de chaînes contenant ", "
dans votre liste) - évidemment, List#toString
effectuera une boucle. pour créer idList
mais cela n'apparaît pas dans votre code:
List<String> ids = new ArrayList<String>();
ids.add("1");
ids.add("2");
ids.add("3");
ids.add("4");
String idList = ids.toString();
String csv = idList.substring(1, idList.length() - 1).replace(", ", ",");
import com.google.common.base.Joiner;
Joiner.on(",").join(ids);
ou vous pouvez utiliser StringUtils :
public static String join(Object[] array,
char separator)
public static String join(Iterable<?> iterator,
char separator)
Joint les éléments du tableau fourni / iterable en une seule chaîne contenant la liste d'éléments fournie.
Si vous voulez convertir la liste au format CSV .........
List<String> ids = new ArrayList<String>();
ids.add("1");
ids.add("2");
ids.add("3");
ids.add("4");
// CSV format
String csv = ids.toString().replace("[", "").replace("]", "")
.replace(", ", ",");
// CSV format surrounded by single quote
// Useful for SQL IN QUERY
String csvWithQuote = ids.toString().replace("[", "'").replace("]", "'")
.replace(", ", "','");
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.