Come controllereste se una stringa è un numero prima di analizzarla?
Puoi usare NumberFormat#parse
:
try
{
NumberFormat.getInstance().parse(value);
}
catch(ParseException e)
{
// Not a number.
}
Analizzatelo (cioè con Integer#parseInt
) e semplicemente catturare l'eccezione. =)
Per chiarire: la funzione parseInt controlla se può analizzare il numero in ogni caso (ovviamente) e se vuoi analizzarlo comunque, non stai andando a prendere alcun colpo di prestazioni facendo effettivamente l'analisi.
Se non volete analizzarlo (o lo analizzate molto, molto raramente) potreste desiderare di farlo diversamente, naturalmente.