Comportamento de String.split no java 1.6?

Meu código é:

String s = "1;;;; 23;;";
System.out.println(s.split(";").length);

e dá como saída5. O código fonte dosplit é:

public String[] split(String regex) {
        return split(regex, 0);
    }

e a documentação diz:

Esse método funciona como se invocasse o método split de dois argumentos (java.lang.String, int) com a expressão dada e um argumento de limite de zero. Cadeias vazias à direita não são, portanto, incluídas na matriz resultante.

A string "boo: e: foo", por exemplo, produz os seguintes resultados com estas expressões:

Regex Result
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }

Se eu imprimir as cordas que tenho:

1



 23

Eu não deveria sair disso1;;;; 23;; algo como{"1", "", "", "", " 23", ""} ?

questionAnswers(3)

yourAnswerToTheQuestion