[Resolvido] Dúvida: split();

Bom dia, boa tarde, boa noite!
Estou com o seguinte problema:

Tenho uma string no formato “x.y.z”, onde a mesma, será usada em um campo input, para filtragem de dados em um relatório.
Para isso, eu recupero o que o usuario digitar e dou um split, recuperando os valores corretos para filtrar no banco, por exemplo:

String userInput = "3.4.5";
String[] arrayFiltro = userInput.split("\\.");

// Resulta em :
arrayFiltro[0]; // 3
arrayFiltro[1]; // 4
arrayFiltro[2]; //5

Porém, eu tive um problema, quando digito algum valor “x.” ou “.x”, o split() deveria me retornar “x” e “” (vazio) ou “” e “x”, respectivamente, mas quando executo em debug
eu percebi que quando digito no formato “.x” (ou “.x.x”), me retorna correto, um valor vazio antes do x, porém, valores vazios após o “.”, como por exemplo, “3.”; não me retornam vazio. Mais ou menos assim:

String tipo1 = "3.";
String tipo2 = ".3";

String[] array1 = tipo1.split("\\.");
String[] array2 = tipo2.split("\\.");

array1[0]; // 3
// array1[1] não existe, é ignorado, e é exatamente aqui o problema

array2[0]; // "", retorna o vazio desejado corretamente
array2[0]; // 3

Alguém sabe como lidar com isso ?
Grato!

Olhando a documentação, você vê que uma das sobrecargas do método split aceita mais de 1 parâmetro. No segundo parâmetro, passe o número -1.

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String,%20int)

Maravilha, funcionou exatamente. Muito agradecido.