Javaで文字列が数値かどうかを確認する方法


  1. 正規表現を使用する方法: 正規表現を使って文字列が数値のパターンにマッチするかどうかを確認します。
public boolean isNumeric(String str) {
    return str.matches("-?\\d+(\\.\\d+)?");
}
  1. パースを使用する方法: Integer.parseInt()Double.parseDouble()などのメソッドを使用して、文字列を数値に変換できるかどうかを確認します。もし変換が成功した場合は数値であり、失敗した場合は数値ではありません。
public boolean isNumeric(String str) {
    try {
        double d = Double.parseDouble(str);
    } catch (NumberFormatException nfe) {
        return false;
    }
    return true;
}
  1. Apache Commons Langを使用する方法: Apache Commons LangライブラリのNumberUtils.isCreatable()メソッドを使用すると、数値かどうかを簡単に判定できます。
import org.apache.commons.lang3.math.NumberUtils;
public boolean isNumeric(String str) {
    return NumberUtils.isCreatable(str);
}

これらの方法を使用すると、Javaで文字列が数値かどうかを簡単に判定できます。適切なメソッドを選択して使用してください。また、文字列が整数か小数かどうか、負の数を許容するかどうかなど、特定の条件に合わせてコードを調整することもできます。