Plusieurs façons de concaténer des chaînes séparées par des virgules en Java

Je veux parfois concaténer des tableaux et des listes avec des chaînes séparées par des virgules en Java, et je me suis demandé s'il y avait un moyen autre que la classe StringJoiner, alors j'ai pris une note. Finalement, j'ai utilisé StringUtils # join (). S'il s'agissait d'un tableau String, String # join () aurait été bien, mais comme il s'agissait d'un tableau int, j'ai choisi StringUtils.

A partir de là, je présenterai ce que j'ai étudié.

Méthode utilisant String Joiner

La classe StringJoiner est disponible à partir de Java 7. S'il ne s'agit pas d'un tableau de type String, il doit être converti en type String.

import java.util.StringJoiner;
import java.util.Arrays;

public class StringJoinerSample {
  public static void main(String args[]) {
    int[] arr = {1, 2, 3, 4, 5};
    StringJoiner sj = new StringJoiner(",");
    Arrays.stream(arr).forEach(i -> sj.add(String.valueOf(i)));
    System.out.println(sj.toString()); // => 1,2,3,4,5
  }
}

Méthode utilisant String # join ()

Pour les tableaux de String, vous pouvez utiliser String # join (). String # join () peut être utilisé à partir de Java 8.

public class MyClass {
    public static void main(String args[]) {
        String[] arr = {"en", "ja", "fr", "es", "zh"};
        String str = String.join(",", arr);
        System.out.println(str); // => en,ja,fr,es,zh
    }
}

Vous pouvez également prendre une liste comme argument.

import java.util.Arrays;
import java.util.List;

public class MyClass {
  public static void main(String args[]) {
    List<String> list = Arrays.asList("en", "ja", "fr", "es", "zh");
    String str = String.join(",", list);
    System.out.println(str); // => en,ja,fr,es,zh
  }
}

Méthode utilisant Collectors # join

S'il s'agit d'une collection de type List , elle peut être concaténée comme suit.

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class MyClass {
  public static void main(String args[]) {
    List<String> list = Arrays.asList("en", "ja", "fr", "es", "zh");
    String str = list.stream().collect(Collectors.joining(","));
    System.out.println(str); // => en,ja,fr,es,zh
  }
}

Il est également possible de mettre le recto et le verso entre parenthèses ().

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class MyClass {
  public static void main(String args[]) {
    List<String> list = Arrays.asList("en", "ja", "fr", "es", "zh");
    String str = list.stream().collect(Collectors.joining(",", "(", ")"));
    System.out.println(str); // => (en,ja,fr,es,zh)
  }
}

Méthode utilisant StringUtils # join ()

La classe StringUtils se trouve dans org.apache.commons: commons-lang3. Vous devez installer la bibliothèque avec gradle ou maven.

org.apache.commons:commons-lang3:3.6

Vous pouvez l'écrire sur une seule ligne comme suit. Puisque StringUtils # join () prend un tableau d'objets comme argument J'utilise ʻArrayUtils # toObject () `pour convertir en un tableau de classe Integer.

import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;

public class MyClass {
    public static void main(String args[]) {
        int[] arr = {1,2,3,4,5};
        String str = StringUtils.join(ArrayUtils.toObject(arr), ",");
        System.out.println(str); // => 1,2,3,4,5
    }
}

Une autre option consiste à utiliser la classe Joiner de Google Guava.

Merci d'avoir lu pour moi jusqu'à la fin. Si vous avez des lacunes ou des questions, veuillez utiliser la section commentaires, demande de modification, Twitter, etc. J'apprécierais que vous me disiez s'il existe un autre moyen.

Recommended Posts

Plusieurs façons de concaténer des chaînes séparées par des virgules en Java
Comment concaténer des chaînes avec Java
Comment connecter les chaînes de la liste séparées par des virgules
Concaténer les chaînes renvoyées par des méthodes multi-objets dans Java Stream
Deux façons de démarrer un thread en Java + @
Comment concaténer des chaînes
Différences dans la gestion des chaînes entre Java et Perl
Convertir un tableau de chaînes en une liste d'entiers en Java
Juger si les chaînes de caractères à comparer sont les mêmes en Java
Multithread pour s'adapter au modèle [Java]
Comment apprendre JAVA en 7 jours
Enregistrer la sortie dans un fichier en Java
Comment utiliser les classes en Java?
Comment nommer des variables en Java
Essayez d'implémenter Yuma en Java
[Java] On a dit que Java pouvait concaténer des chaînes avec +, alors j'ai vérifié
Comment implémenter le filtre de Kalman par Java
Essayez de résoudre Project Euler en Java
Facile à créer Slack Bot avec Java
Référence Java à comprendre dans la figure
Essayez d'implémenter l'ajout n-aire en Java
Remplacez List <Optional <T >> par Optional <List <T >> en Java
Convertir des fichiers SVG en fichiers PNG en Java
Comment intégrer Janus Graph dans Java
Comment obtenir la date avec Java
Ajouter des notes de bas de page aux documents Word en Java
[Java Bronze] 5 problèmes à garder à l'esprit
Exemple pour décompresser le fichier gz en Java
De Java à C et de C à Java dans Android Studio
Ajouter l'attribut SameSite au cookie en Java
[Java] Différentes méthodes pour acquérir la valeur stockée dans List par traitement itératif