Dzielenie ciągu Java za pomocą symbolu potoku przy użyciu podziału („|”)

Oficjalna dokumentacja Java stwierdza:

Ciąg"boo:and:foo"na przykład daje następujące wyniki z tymi wyrażeniami Regex Result:

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

I tak potrzebuję go do pracy. Jeśli jednak uruchomię to:

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

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

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

to drukuje:

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

Co jest dalekie od oczekiwań:

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

Dlaczego to się dzieje?

questionAnswers(6)

yourAnswerToTheQuestion