Java - Wie kann ich List String mit Kommas verbinden?

Java - Wie man List String mit Kommas verbindet

In Java können wirString.join(",", list) verwenden, um eine Listenzeichenfolge mit Kommas zu verbinden.

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);

    }

}

Ausgabe

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);

    }

}

Ausgabe

a,b,c

2. In alten Tagen

Erstellen Sie eine benutzerdefinierte Methode, um die Zeichenfolge mit dem Trennzeichen manuell zu verknüpfen.

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();

    }

}

Ausgabe

a
a,b
a,b,c
//empty