Разбиение строки Java по символу канала с использованием split («|»)

Официальная документация Java гласит:

Строка"boo:and:foo", for example, yields the following results with these expressions Regex Result :

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

И мне нужно, чтобы это работало. Однако, если я запускаю это:

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

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

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

это печатает:

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

Что далеко от того, что я ожидал:

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

Почему это происходит?

Ответы на вопрос(7)

Ваш ответ на вопрос