Java - Comment joindre la chaîne de liste avec des virgules
En Java, nous pouvons utiliserString.join(",", list) pour joindre une chaîne de liste avec des virgules.
1. Java 8
1.1 String.join
JavaStringExample1.java
package com.example;
import java.util.Arrays;
import java.util.List;
public class JavaStringExample1 {
public static void main(String[] args) {
List list = Arrays.asList("a","b","c");
String result = String.join(",", list);
System.out.println(result);
}
}
Sortie
a,b,c
1.2 Stream Collectors.joining
JavaStringExample2.java
package com.example;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class JavaStringExample2 {
public static void main(String[] args) {
List list = Arrays.asList("a", "b", "c");
String result = list.stream().collect(Collectors.joining(","));
System.out.println(result);
}
}
Sortie
a,b,c
2. Autrefois
Créez une méthode personnalisée pour joindre manuellement la chaîne avec le séparateur.
JavaStringExample3.java
package com.example;
import java.util.Arrays;
import java.util.List;
public class JavaStringExample3 {
public static void main(String[] args) {
System.out.println(join(",", Arrays.asList("a")));
System.out.println(join(",", Arrays.asList("a", "b")));
System.out.println(join(",", Arrays.asList("a", "b", "c")));
System.out.println(join(",", Arrays.asList("")));
System.out.println(join(",", null));
}
private static String join(String separator, List input) {
if (input == null || input.size() <= 0) return "";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < input.size(); i++) {
sb.append(input.get(i));
// if not the last item
if (i != input.size() - 1) {
sb.append(separator);
}
}
return sb.toString();
}
}
Sortie
a a,b a,b,c //empty