Combiner plusieurs chaînes en un seul JAVA
J'ai un ensemble de strings
qui veulent combiner en un seul String
avec toutes les phrases séparées avec coma comme (*.csv)
voici comment ça se passe avec moi:
String dataContainer;
for(String tempString:setInput){
String finalString = "," + tempString + "," ;
}
Cela ne fonctionne pas avec moi 🙁
Mais elle devrait faire pour Définir ex:
Set<String> setInput = new TreeSet();
setInput.add("Dog");
setInput.add("Cat");
setInput.add("Mouse");
pour produire de la chaîne:
,Dog,,Cat,,Mouse,
- Vous voulez vraiment 2 virgules?
- qu'entendez-vous par: Cela ne fonctionne pas pour moi
Vous devez vous connecter pour publier un commentaire.
Il est préférable d'utiliser
StringBuilder
sb.append(",").append(tempString).append(",");
sb.deleteCharAt(sb.lastIndexOf(","));
si il n'est pas nécessaireCe que Vous faites est
intializing
votre chaîne de résultat à chaque fois.En fait ,vous voulez faire
Mais l'approche ci-dessus les causes multiples
String
créations.Mais je suggère d'aller pour
StringBuilder
.String finalS = finalStringb.toString()
m'aide vraiment!Ou nous pouvons utiliser Java 8 Flux
Ou
Ou
etc
Alternativement, si vous êtes à l'aide de Java 8, vous pouvez essayer quelque chose comme ceci:
La sortie est:
,Cat,,Dog,,Mouse,
Bien, je suis un peu incertain à pourquoi vous voulez les 2 virgules entre chaque élément et une virgule au début et à la fin. Si vous souhaitez simplement une virgule séparant chaque élément (et pas de virgule au début ou à la fin), de modifier la
join(Set<String>)
à ressembler à ceci:Après cela, la nouvelle sortie serait:
Cat,Dog,Mouse
org.apache.commons.lang.StringUtils.join() peut venir dans maniable
Peut-être que vous êtes à la recherche uniquement pour
String csvString = "," + String.join(",,", string1, string2, string3) +"," ;
Référence
,Dog,,Cat,,Mouse,
.String csvString = "," + String.join(",,", string1, string2, string3) +"," ;