パフォーマンスとかそういうのはひとまず考えず、超簡単にできる文字列の数値チェックをご紹介
コード
/**
* 数値チェック
* @param str チェック対象
* @return
*/
public static boolean isNum(String str) {
try {
Double.parseDouble(str);
return true;
} catch (Exception e) {
return false;
}
}
実行例
/**
* @param args
*/
public static void main(String[] args) {
// 数値(小数なし)
String str = "10";
System.out.println(isNum(str));
// 数値(小数あり)
str = "10.01";
System.out.println(isNum(str));
// 数値以外
str = "10#01";
System.out.println(isNum(str));
}
実行結果
true true false
解説
何も考えずに文字列をdouble型に変換して、成功したら真、失敗したら偽を返却するメソッドです。
正規表現とかそういう小難しいことは考えずにできる最も単純な数値チェックになります。
最後に
もしint型やfloat形で個別にチェックしたい場合はメソッド名をisIntやisFloatにしてtry~catchの中でやってるparseをparseIntやparseFloatにすれば個別の型チェック処理の感性です。
実行コストがどれくらいかかるかは確認してないので速度の保証はできませんが、Webサービスとかでの単発のチェック処理なら特に問題はないと思います。
他の言語でも同様の処理を書けば流用できるはず。