ホームページ >Java >&#&チュートリアル >「N/A」文字列を解析するときに「java.lang.NumberFormatException」を回避するにはどうすればよいですか?

「N/A」文字列を解析するときに「java.lang.NumberFormatException」を回避するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-05 22:30:12777ブラウズ

How to Avoid `java.lang.NumberFormatException` When Parsing

「N/A」文字列の解析時に java.lang.NumberFormatException が発生しないようにする

数値文字列を解析する場合は、次のことを確認することが重要ですNumberFormatException を防ぐための有効性。一般的な問題は、整数に変換できない「N/A」文字列が発生したときに発生します。

例外の概要:

無効な文字列の場合、NumberFormatException がスローされます。整数 (Integer.parseInt) などの特定の数値型に解析しようとします。次のスタック トレースに見られるように、「N/A」は有効な整数表現ではないため、この例外が発生します。

防止戦略:

これを防ぐには例外として、次のいずれかの手法を実装できます:

Exception処理:

このアプローチには、解析操作を try-catch ブロック内にラップすることが含まれており、そこで NumberFormatException がキャッチされ、適切に処理されます。以下に例を示します。

try {
    int i = Integer.parseInt(input);
} catch (NumberFormatException ex) {
    // Handle the exception here (e.g., log it, display an error message)
}

整数パターン マッチング:

または、正規表現を使用して、文字列が予期される整数形式と一致するかどうかを確認してから試行することもできます。それを解析してください。簡略化した例を次に示します。

String pattern = "-?\d+";
if (input.matches(pattern)) {
    int i = Integer.parseInt(input);
} else {
    // Handle non-integer string
}

このアプローチでは、パターンは有効な整数表現を定義し、入力文字列がこのパターンに準拠していない場合は、個別に処理できます。

これらの戦略のいずれかを実装すると、コードが「N/A」などの非整数文字列を適切に処理し、NumberFormatException による中断を防ぐことができます。実行。

以上が「N/A」文字列を解析するときに「java.lang.NumberFormatException」を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。