Como você verificaria se um String era um número antes de analisá-lo?
Você pode utilizar NumberFormat#parse
:
try
{
NumberFormat.getInstance().parse(value);
}
catch(ParseException e)
{
// Not a number.
}
Analisar (ou seja, com Integer#parseInt
) e simplesmente apanhar a excepção. =)
Para esclarecer: A função parseInt verifica se ele pode analisar o número em qualquer caso (obviamente) e se você quiser analisá-lo de qualquer maneira, você não vai ter nenhuma performance atingida por fazer a análise.
Se você não quiser analisá-lo (ou analisá-lo muito, muito raramente) você pode querer fazê-lo de forma diferente, é claro.