Comportamiento de String.split en java 1.6?

Mi código es:

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

y da como salida5. El código fuente desplit es:

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

y la documentación dice:

Este método funciona como si invocara el método split de dos argumentos (java.lang.String, int) con la expresión dada y un argumento límite de cero. Por lo tanto, las cadenas vacías finales no se incluyen en la matriz resultante.

La cadena "boo: y: foo", por ejemplo, produce los siguientes resultados con estas expresiones:

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

Si imprimo las cadenas tengo:

1



 23

No deberia salir de esto1;;;; 23;; algo como{"1", "", "", "", " 23", ""} ?

Respuestas a la pregunta(3)

Su respuesta a la pregunta