Boa noite,
Erro bobo de iniciante. Alguém sabe o porque retorna um Exeption?
String servidor[]= emaildestinatario.split("@");
String var = servidor[1];
System.out.println(var);
String x[] = var.split(".");
System.out.println(x[0]);
Erro:
gmail.com
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at testeemailUtil.TesteEnvio.main(TesteEnvio.java:15)
Possívelmente você está passando um índice fora dos limites do array, ArrayIndexOutOfBoundsException.
O que tem na linha 15? E qual é o conteúdo da sua string emaildestinatario?
O método split recebe uma regex como argumento e retorna um array contendo os matches “ao redor” da regex. O exemplo da documentação: se você tem a string "foo:bar:baz", e chama split com o argumento ":", o resultado é o array ["foo", "bar", "baz"].
No seu caso, a regex é ".". O ponto significa “qualquer caractere”. Basicamente todos os chars da string dão match, e o resultado é um array vazio. Por isso a linha System.out.println(x[0]); dá throw numa ArrayIndexOutOfBoundsException, o índice 0 não existe no array vazio.
Se você quer dar match literalmente no ponto, tem que fazer isso:
String x[] = var.split("\\.");
2 curtidas