Teilen eines Java-Strings durch das Pipe-Symbol mit split ("|")

In der offiziellen Java-Dokumentation heißt es:

Die Saite"boo:and:foo"Beispielsweise liefert Regex Result mit diesen Ausdrücken die folgenden Ergebnisse:

{ "boo", "and", "foo" }"

Und so muss es funktionieren. Wenn ich dies jedoch ausführe:

public static void main(String[] args){
        String test = "A|B|C||D";

        String[] result = test.split("|");

        for(String s : result){
            System.out.println(">"+s+"<");
        }
    }

es druckt:

><
>A<
>|<
>B<
>|<
>C<
>|<
>|<
>D<

Welches ist weit von dem, was ich erwarten würde:

>A<
>B<
>C<
><
>D<

Warum passiert dies?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage