Javaのsplitにはいくつか注意点があります。
String str1 = "a,b,c"; String str2 = ""; String str3 = "abc"; String str4 = "a,b,c,,,";
について見てみると、
str1.split(“,”); //要素数は「3」になります。
str2.split(“,”); //要素数は「1」になります。0番目の要素が[]になります。要素数は「0」にならないので注意です。
str3.split(“,”); //要素数は「1」になります。0番目の要素が[abc]になります。
str4.split(“,”); //要素数は「3」になります。一番末尾の空の要素はなかったことにされます。
そのため、いずれの文字列に対してもsplitをした場合には要素数が「0」になることはないので注意が必要です。
http://www.saka-en.com/java/java-split-string/