Javaで文字列が16進数であるかを検証する方法


  1. 正規表現を使用する方法: 正規表現を使って文字列が16進数のパターンに一致するかどうかを確認することができます。以下はその例です。

    import java.util.regex.Pattern;
    public class HexStringValidator {
       public static boolean isHexString(String input) {
           String hexPattern = "^[0-9A-Fa-f]+$";
           return Pattern.matches(hexPattern, input);
       }
    }

    使用例:

    String input1 = "ABCDEF";
    boolean isHex1 = HexStringValidator.isHexString(input1); // true
    String input2 = "123XYZ";
    boolean isHex2 = HexStringValidator.isHexString(input2); // false
  2. 文字列を数値に変換して例外をキャッチする方法: Integer.parseInt() メソッドを使用して文字列を16進数として解釈し、例外が発生するかどうかを確認する方法もあります。

    public class HexStringValidator {
       public static boolean isHexString(String input) {
           try {
               Integer.parseInt(input, 16);
               return true;
           } catch (NumberFormatException e) {
               return false;
           }
       }
    }

    使用例は前の方法と同じです。

  3. Apache Commons Langを使用する方法: Apache Commons Langライブラリを使用すると、より簡単に16進数の検証ができます。以下はその例です。

    import org.apache.commons.lang3.StringUtils;
    public class HexStringValidator {
       public static boolean isHexString(String input) {
           return StringUtils.isHexadecimal(input);
       }
    }

    使用例も前と同じです。

これらの方法を使用すると、Javaで文字列が16進数であるかどうかを簡単に検証することができます。