[Java]Integer.parseIntメソッドの使い方とは?parseIntメソッドやparseUnsignedIntメソッドの使い方・例外の発生するケース・配列の変換
![[Java]Integer.parseIntメソッドの使い方とは?parseIntメソッドやparseUnsignedIntメソッドの使い方・例外の発生するケース・配列の変換](https://www.fenet.jp/java/column/wp-content/uploads/2020/09/main_image-1.jpg)
- システム
エンジニア - Integer.parseIntメソッドの使い方が知りたいです。
- プロジェクト
マネージャー - 順に解説しますので、一緒に学んでいきましょう。
[Java]Integer.parseIntメソッドの使い方とは?
今回は、JavaでのInteger.parseIntメソッドの使い方について説明します。Javaにはint型とInteger型があります。int型は「プリミティブ型」、Integer型は「クラス型」です。プリミティブ型は値を持っているだけの変数ですが、クラス型はクラスメソッドを使えます。Integer型のクラスメソッドにparseIntがあります。
ここでは、parseIntメソッドやparseUnsignedIntメソッドの使い方、例外の発生するケース、配列の変換について紹介します。また、類似メソッドとして、Double.parseDoubleやBoolean.parseBooleanについても紹介します。興味のある方はぜひご覧ください。
parseInt
JavaでのparseIntメソッドの基本的な使い方を紹介します。parseIntメソッドは引数の文字列を整数に変換しますが、第2引数に基数を指定することも可能です。実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class Main { public static void main(String[] args) throws Exception { // 整数に変換 System.out.println(Integer.parseInt("100")); // 100 System.out.println(Integer.parseInt("+40")); // 40 System.out.println(Integer.parseInt("-20")); // -20 System.out.println(Integer.parseInt("0")); // 0 System.out.println(Integer.parseInt("-0")); // 0 // 基数指定して整数に変換 System.out.println(Integer.parseInt("10", 10)); // 10 System.out.println(Integer.parseInt("1010", 2)); // 10 System.out.println(Integer.parseInt("12", 8)); // 10 System.out.println(Integer.parseInt("A", 16)); // 10 } } |
実行結果は以下のようになります。
1 2 3 4 5 6 7 8 9 |
100 40 -20 0 0 10 10 10 10 |
このようにJavaでは、parseIntメソッドで引数の文字列を整数に変換できます。必要に応じて、基数を指定してください。
parseUnsignedInt
JavaでのparseUnsignedIntメソッドの基本的な使い方を紹介します。parseIntとは違い、負数の文字列を指定すると例外が発生します。実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
public class Main { public static void main(String[] args) throws Exception { try { // 整数型として構文解析 System.out.println(Integer.parseUnsignedInt("100")); // 100 System.out.println(Integer.parseUnsignedInt("+40")); // 40 System.out.println(Integer.parseUnsignedInt("0")); // 0 // 基数指定して構文解析 System.out.println(Integer.parseUnsignedInt("10", 10)); // 10 System.out.println(Integer.parseUnsignedInt("1010", 2)); // 10 System.out.println(Integer.parseUnsignedInt("12", 8)); // 10 System.out.println(Integer.parseUnsignedInt("A", 16)); // 10 // 負の記号を指定すると例外 System.out.println(Integer.parseUnsignedInt("-20")); } catch (Exception e) { System.out.println(e); // java.lang.NumberFormatException: Illegal leading minus sign on unsigned string -20. } } } |
実行結果は以下のようになります。
1 2 3 4 5 6 7 8 |
100 40 0 10 10 10 10 java.lang.NumberFormatException: Illegal leading minus sign on unsigned string -20. |
このようにJavaでは、parseUnsignedIntメソッドで引数の文字列を符号なし整数に変換できます。
例外
JavaでのparseIntメソッドで例外が発生するケースを紹介します。小数やnull、数字以外、不正な数字、空文字などを指定すると例外が発生します。実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
public class Main { public static void main(String[] args) throws Exception { // 小数の場合 try { System.out.println(Integer.parseInt("12.3")); } catch (Exception e) { System.out.println(e); // java.lang.NumberFormatException: For input string: "12.3" } // nullの場合 try { System.out.println(Integer.parseInt(null)); } catch (Exception e) { System.out.println(e); // java.lang.NumberFormatException: null } // 数字以外の場合 try { System.out.println(Integer.parseInt("A")); } catch (Exception e) { System.out.println(e); // java.lang.NumberFormatException: For input string: "A" } // 不正な数字の場合 try { System.out.println(Integer.parseInt("1.1.1")); } catch (Exception e) { System.out.println(e); // java.lang.NumberFormatException: For input string: "1.1.1" } // 空文字の場合 try { System.out.println(Integer.parseInt("")); } catch (Exception e) { System.out.println(e); // java.lang.NumberFormatException: For input string: "" } } } |
実行結果は以下のようになります。
1 2 3 4 5 |
java.lang.NumberFormatException: For input string: "12.3" java.lang.NumberFormatException: null java.lang.NumberFormatException: For input string: "A" java.lang.NumberFormatException: For input string: "1.1.1" java.lang.NumberFormatException: For input string: "" |
配列
JavaでString配列をint配列に変換する方法を紹介します。実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import java.util.stream.Stream; public class Main { public static void main(String[] args) throws Exception { String[] array = {"1", "10", "100", "1000", "10000"}; // String配列をint配列に変換 int[] array2 = Stream.of(array).mapToInt(Integer::parseInt).toArray(); // 結果表示 for (int val: array2){ System.out.println(val); } } } |
実行結果は以下のようになります。
1 2 3 4 5 |
1 10 100 1000 10000 |
このようにJavaではString配列をint配列に変換できます。1行で記述できるのでとてもシンプルです。
parseDoubleやparseBoolean
parseIntに似たメソッドとして、Double.parseDoubleやBoolean.parseBooleanについても紹介します。実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public class Main { public static void main(String[] args) throws Exception { // Doubleに変換 System.out.println(Double.parseDouble("12.3")); // 12.3 System.out.println(Double.parseDouble("-45.6")); // -45.6 // Booleanに変換 System.out.println(Boolean.parseBoolean("true")); // true System.out.println(Boolean.parseBoolean("false")); // false // true/false以外はfalseになる System.out.println(Boolean.parseBoolean("ture")); // false } } |
実行結果は以下のようになります。
1 2 3 4 5 |
12.3 -45.6 true false false |
- システム
エンジニア - JavaでのparseIntメソッドで例外が発生するケースがあるのですね。
- プロジェクト
マネージャー - 例外も含めてJavaでのInteger.parseIntメソッドの使い方などが理解できたら、実際にソースコードで書いてみましょう。
まとめ
いかがでしたでしょうか。JavaでのInteger.parseIntメソッドの使い方について説明しました。ここでは、parseIntメソッドやparseUnsignedIntメソッドの使い方、例外の発生するケース、配列の変換について紹介しました。また、類似メソッドとして、Double.parseDoubleやBoolean.parseBooleanについても紹介しました。
ぜひご自身でJavaのソースコードを書いて、理解を深めてください。
FEnetJava・Javaコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


Java新着案件New Job
官公庁向け業務システム開発/Java/東京都千代田区/【WEB面談可】/テレワーク
月給39万~44万円東京都千代田区(永田町駅)販売管理システム開発/Java/東京都中央区/【WEB面談可】/テレワーク
月給49万~55万円東京都中央区(京橋駅)生命保険会社向けシステム開発/Java/東京都千代田区/【WEB面談可】/テレワーク
月給42万~48万円東京都千代田区(大手町駅)社会保険システムのパッケージ開発/Java/東京都港区/【WEB面談可】/テレワーク
月給42万~48万円東京都港区(新橋駅)金融機関向けシステム更改/Java/東京都江東区/【WEB面談可】/テレワーク
月給46万~51万円東京都江東区(豊洲駅)大手通信会社者向けWebシステム改修/Java/東京都港区/【WEB面談可】/テレワーク
月給42万~48万円東京都港区(品川駅)