Zachowanie String.split w java 1.6?

Mój kod to:

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

i daje jako wyjście5. Kod źródłowysplit jest:

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

a dokumentacja mówi:

Ta metoda działa tak, jakby wywoływała dwuzakresową metodę split (java.lang.String, int) z podanym wyrażeniem i argumentem limitu równym zero. Końcowe puste ciągi nie są zatem uwzględniane w wynikowej tablicy.

Na przykład ciąg „boo: and: foo” daje następujące wyniki z następującymi wyrażeniami:

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

Jeśli wydrukuję ciągi, mam:

1



 23

Nie powinienem z tego wyjść1;;;; 23;; coś jak{"1", "", "", "", " 23", ""} ?

questionAnswers(3)

yourAnswerToTheQuestion