Normalmente, uso o seguinte idioma para verificar se uma String pode ser convertida em um número inteiro.
public boolean isInteger( String input ) {
try {
Integer.parseInt( input );
return true;
}
catch( Exception e ) {
return false;
}
}
Sou só eu, ou isso parece um pouco idiota? Qual a melhor maneira?
Veja minha resposta (com benchmarks, com base na resposta anterior de CodingWithSpike ) para ver por que eu inverti minha posição e aceitei a resposta de Jonas Klemming para esse problema. Eu acho que esse código original será usado pela maioria das pessoas porque é mais rápido de implementar e mais sustentável, mas é uma ordem de magnitude mais lenta quando dados não inteiros são fornecidos.