Java 文字列から数値への例外 (NumberFormatException) を解決するメソッド
Java 文字列から数値への例外 (NumberFormatException) を解決するメソッド
Java プログラミングでは、文字列を数値に変換する必要がある状況によく遭遇します。ただし、文字列を数値に正しく変換できない場合は、NumberFormatException がスローされます。この例外は通常、parseInt()、parseLong() およびその他のメソッドを使用するときに発生し、プログラムが正常に実行できなくなります。この例外を回避し、文字列を数値に正しく変換するには、次の方法で処理できます。
1. try-catch ステートメントを使用して例外をキャッチする
try-catch ステートメントは、例外を処理するために最も一般的に使用される方法の 1 つです。 try ブロックを使用して文字列変換操作を実行し、catch ブロックで NumberFormatException 例外をキャッチすることで、プログラムのクラッシュを回避し、エラー処理を実行できます。
サンプルコードは以下のとおりです。
String strNumber = "123abc"; int number; try { number = Integer.parseInt(strNumber); System.out.println("转换后的数字为: " + number); } catch (NumberFormatException e) { System.out.println("字符串无法转换为数字"); e.printStackTrace(); }
上記の例では、整数に変換できない文字列「123abc」を数値に変換しようとしています。変換できない場合、プログラムは NumberFormatException 例外をスローし、キャッチ内のコードを実行し、「文字列を数値に変換できません」というエラー メッセージを出力し、例外のスタック トレースを出力します。
2. 事前判定に正規表現を使用する
実際のアプリケーションでは、正規表現を使用して、文字列が数値の形式に準拠しているかどうかを判断できます。文字列が要件を満たしていない場合、NumberFormatException 例外のスローを避けるために変換操作は実行されません。以下は、整数と浮動小数点数を照合できる正規表現の例です。
public static boolean isNumeric(String str) { return str.matches("-?\d+(\.\d+)?"); }
isNumeric() メソッドを呼び出して文字列が数値かどうかを事前に判定することで、NumberFormatException 例外のスローを回避できます。 。
サンプルコードは以下のとおりです:
String strNumber = "123abc"; int number; if (isNumeric(strNumber)) { number = Integer.parseInt(strNumber); System.out.println("转换后的数字为: " + number); } else { System.out.println("字符串无法转换为数字"); }
上記のコードでは、まず isNumeric() メソッドを呼び出して判定し、文字列が数値形式に準拠していれば変換して結果を返します。が出力され、それ以外の場合はエラーメッセージが出力されます。
3. 変換に正規表現またはツール クラスを使用する
事前判定プロセスが面倒な場合、または要件を満たせない場合は、変換操作に正規表現またはツール クラスを使用できます。たとえば、変換には、Pattern クラスと Matcher クラスの find() メソッドを使用するか、Apache Commons パッケージの NumberUtils ユーティリティ クラスのメソッドを使用します。
サンプル コードは次のとおりです。
import java.util.regex.Pattern; import java.util.regex.Matcher; import org.apache.commons.lang3.math.NumberUtils; String strNumber = "123abc"; int number; Pattern pattern = Pattern.compile("-?\d+"); Matcher matcher = pattern.matcher(strNumber); if (matcher.find()) { number = Integer.parseInt(matcher.group()); System.out.println("转换后的数字为: " + number); } else { System.out.println("字符串无法转换为数字"); } // 或者使用NumberUtils工具类 if (NumberUtils.isParsable(strNumber)) { number = Integer.parseInt(strNumber); System.out.println("转换后的数字为: " + number); } else { System.out.println("字符串无法转换为数字"); }
上記のコードでは、正規表現と Matcher クラスの find() メソッドを使用するか、次の NumberUtils ツール クラスのメソッドを使用します。変換用の Apache Commons パッケージが動作します。どちらの方法でも NumberFormatException 例外を回避し、文字列を数値に正しく変換します。
要約すると、try-catch ステートメントを使用して例外をキャッチするか、事前判定に正規表現を使用するか、変換に正規表現またはツール クラスを使用することで、Java 文字列から数値例外 (NumberFormatException) を解決できます。 )問題。実際のニーズに基づいて適切なソリューションを選択することで、プログラムの安定性と信頼性を確保できます。
以上がJava 文字列から数値への例外 (NumberFormatException) を解決するメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
