Esto es una continuación de this question.Comportamiento de división de cadenas en cadena vacía y en cadena de delimitador único
La pregunta está en la segunda línea a continuación.
"".split("x"); //returns {""} // ok
"x".split("x"); //returns {} but shouldn't it return {""} because it's the string before "x" ?
"xa".split("x"); //returns {"", "a"} // see?, here "" is the first string returned
"ax".split("x"); //returns {"a"}
véase [SI-5096] (https://issues.scala-lang.org/browse/SI-5069) "Bug en Split() cuando delimitadores se producen al final de la cadena" – 4e6
Esta es la razón por Google Guava creó com.google.common.base.Splitter – Schildmeijer