Javaで文字列を整数に変換する方法

王林
リリース: 2023-05-15 14:22:13
転載
7803 人が閲覧しました

使用方法

Java では、データの型変換が必要なシナリオによく遭遇します。String 型データを Int 型に変換することは、比較的一般的なシナリオです。主な変換方法は 2 つあります:

  • 1. Integer.parseInt(String) メソッドを使用します

  • 2. Integer.valueOf(String) メソッドを使用します

具体的なデモは次のとおりです:

public void convert() {
    // 1.使用Integer.parseInt(String)
    String str1 = "31";
    Integer num1 = Integer.parseInt(str1);
    System.out.print("字符串31转换为数字:");
    System.out.println(num1);

    // 2.使用Integer.valueOf(String)
    String str2 = "32";
    Integer num2 = Integer.valueOf(str2);
    System.out.print("字符串32转换为数字:");
    System.out.println(num2);
}
ログイン後にコピー

実行結果:

Javaで文字列を整数に変換する方法

それが確認できます。実行結果によると、両方のメソッドで文字列から整数への変換を完了できます。

注意事項

ただし、これら 2 つの方法を使用するには前提条件があることに注意してください。つまり、変換される文字列の内容は純粋な数値でなければなりません

上記のデモで変換対象となる文字列が、すべて「31」や「32」などの純粋な数字で構成された文字列であることは難しくありません。変換された場合、プログラムは例外をスローします。

以下のデモに示すように、文字列に小文字の英字を追加し、コード セグメントを try-catch ステートメントで囲み、発生する可能性のある例外をキャッチします。 (文字を含む文字列を整数に変換するとデジタル形式変換例外が発生することがわかっているため、NumberFormatException をキャッチすることにしました)

public void convert() {
    // 1.Integer.parseInt(String)
    try {
        String str1 = "31a";
        Integer num1 = Integer.parseInt(str1);
        System.out.print("字符串31a转换为数字:");
        System.out.println(num1);
    } catch (NumberFormatException e) {
        System.out.println("Integer.parseInt(String)方法执行异常");
        e.printStackTrace();
    }
 
    // 1.Integer.valueOf(String)
    try {
        String str2 = "32b";
        Integer num2 = Integer.valueOf(str2);
        System.out.print("字符串32b转换为数字:");
        System.out.println(num2);
    } catch (NumberFormatException e) {
        System.out.println("Integer.valueOf(String)方法执行异常");
        e.printStackTrace();
    }
}
ログイン後にコピー

実行結果から、このコードは Integer であることがわかります。 .parseInt(String ) メソッドと Integer.valueOf(String) の位置により NumberFormatException が発生しました。理由は、 変換された文字列に英文字が含まれており、整数型 に変換できないためです。

Javaで文字列を整数に変換する方法

パフォーマンスの比較

System.nanoTime() を使用して、2 つのメソッドの実行時間の差を確認できます

public static void convert() {
    // 1.Integer.parseInt(String)
    String str1 = "321";
    long before1 = System.nanoTime();
    Integer.parseInt(str1);
    long interval1 = System.nanoTime() - before1;
    System.out.print("Integer.parseInt(String)的执行时长(纳秒):");
    System.out.println(interval1);

    // 1.Integer.valueOf(String)
    String str2 = "332";
    long before2 = System.nanoTime();
    Integer.valueOf(str2);
    long interval2 = System.nanoTime() - before2;
    System.out.print("Integer.valueOf(String)的执行时长(纳秒):");
    System.out.println(interval2);
}
ログイン後にコピー

このうち、interval1 とinterval2 の値は、それぞれ 2 つのメソッドの実行前後のシステム時間の差を指します。単位はナノ秒です。複数回実行すると、 Integer.valueOf(String) メソッドは、Integer.parseInt(String) メソッドよりも短いです。

以上がJavaで文字列を整数に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート