【Java】String型をint型に変換する

こんにちは!フリーランスのオータケです。

皆さんはJavaの文字列をint型に変換する方法を覚えていますか?

また、int型の数値を文字列に変換する方法を覚えていますか?変換に失敗した場合はどうなるか知っていますか?この記事を見ればJavaの文字列をint型に変換する方法がわかりやすく学べます!

この記事では、文字列をint型に変換する方法について

  • String型からint型への変換方法
  • String型からその他の数値型への変換方法
  • 数値型からString型への変換方法
  • String型の値が数値かチェックする

など具体的な内容についても解説していきます。今回は文字列をint型に変換する方法について、使い方をわかりやすく解説します!

String型と数値型との型変換メソッド一覧

Sting型⇔数値型変換のメソッド、書き方について表にまとめました。

変換前の型変換後の型メソッド書き方例
StringintInteger.parseInt
Integer.valueOf
Integer.parseInt("1")
Integer.valueOf(“1”)
byteByte.parseByte
Byte.valueOf
Byte.parseByte(“1”)
Byte.valueOf(“1”)
shortShort.parseShort
Short.valueOf
Short.parseShort(“1”)
Short.valueOf(“1”)
longLong.parseLong
Long.valueOf
Long.parseLong(“1”)
Long.valueOf(“1”)
floatFloat.parseFloat
Float.valueOf
Float.parseFloat(“1”)
Float.valueOf(“1”)
doubleDouble.parseDouble
Double.valueOf
Double.parseDouble(“1”)
Double.valueOf(“1”)
数値型(int, byte, short, long, float, double)StringString.valueOfString.valueOf(1)
intStringInteger.toStringInteger.toString(1)
byteStringByte.toStringByte.toString((byte)1)
shortStringShort.toStringShort.toString((short)1)
longStringLong.toStringLong.toString(1l)
floatStringFloat.toStringFloat.toString(1.0f)
doubleStringDouble.toStringDouble.toString(1.0)

String型から数値型への変換はparseIntegerparaseByteparseFloatなどのメソッドやvalueOfメソッドが使用できます。数値型から文字列型への変換はvalueOfメソッドやtoStringメソッドが使用できます。

それぞれの使用例についてサンプルコードで確認していきましょう。

String型からint型への変換方法(parseInt)

文字列をint型の数値に変換するには下記のようなサンプルコードになります。

IntegerクラスのparsIntやvalueOfを使うことでint型に変換が可能です。

実行結果:

String型からその他の数値型への変換方法

文字列から数値に変換するためにはそれぞれの目的にあったメソッドを使うことで実現することができます。

byte型への変換(parseByte)

文字列をbyte型の数値に変換するには下記のようなコードを書きます。ByteクラスのparseByteを使うことでbyte型に変換が可能です。

実行結果:

short型、long型への変換(parseShort、parseLong)

short型、long型の場合は下記のようになります。short型への変換の場合、ShortクラスのparseShortメソッドを使いましょう。

long型への変換はLongクラスのparseLongメソッドを使います。

実行結果:

小数値(float, double)への変換(parseFloat、parseDouble)

byte型への変換やint型への変換と同様、小数点に変換する場合は下記のようにします。float型への変換はFloat.parseFloatメソッドを使いましょう。

そしてdouble型への変換はDouble.parseDoubleメソッドを使います。

実行結果:

valueOfメソッドを使う方法

今解説したそれぞれのInteger、Short、LongといったクラスにはvalueOfメソッドというものが存在しています。このメソッドを使うことで文字列を変数に変換することができます。

各型クラスのvalueOfメソッドを使った場合は戻り値はその型クラスと同じ型で返すようになっています。

実行結果:

このサンプルコードでは、例えば1番目にIntegerのvalueOfメソッドを呼び出しているので呼び出し後、Integerクラスに変換しています。

数値型からString型への変換方法

次に数値を文字列に変換する方法を見てみましょう。

valueOfを使う方法

valueOfというメソッドを使って文字列に変換する方法を見てみましょう。

先程の「文字列から数値への変換」でvalueOfを使うと解説しました。数値から文字列への変換でも同様にvalueOfを使うことができます。

実行結果:

このサンプルコードではint型の変数をString.valueOfメソッドを使って文字列に変換しています。

toStringを使う方法

IntegerクラスやFloatクラスといったクラスにはtoStringメソッドが備わっておりこのメソッドを使うことで文字列に変換することが可能です。

実行結果:

このサンプルコードのような形でtoStringメソッドを呼ぶと文字列へ変換して返してくれます。

String型の値が数値かチェックする

もし、型変換ができなかった場合どうなるかサンプルコードを見てみましょう。

このサンプルコードを実行しようとすると例外やコンパイルエラーが発生して実行できなくなります。引数に渡す際には正しい数値でなければなりません。ですので、型変換を行う前にString型の値が数値かチェックするようにしましょう。

String型の値が数値かチェックする方法は2つあります。

  1. try-catch文で例外処理
  2. 正規表現でチェック


それぞれの方法について詳しく確認していきましょう。

なお、Apache Commons LangNumberUtils#isNumberメソッドを使う方法もありますが、標準ライブラリではないため説明は割愛します。

try-catch文で例外処理

try-catch文でStringの値が数値でなければ、例外処理を行うように記述します。

実行結果:

このサンプルコードでは、Integer.parseIntメソッドの引数の文字列は数値ですが、Integer.valueOfメソッドの引数の文字列は数値ではありません。

引数の文字列が数値でない場合は例外処理を行うようにtry-catch文で記述しています。

正規表現でチェック

正規表現のパターンを指定して、文字列が数値かどうかチェックする方法は以下のようになります。

実行結果:

このサンプルコードでは、String型変数regexで正規表現のパターンをマイナス値も含む整数に指定しています。

整数の正規表現のパターンと合致する場合は、整数値に変換され出力表示されます。合致しない場合は出力表示されていません。

なお、正規表現で文字列をチェックするパターンの書き方については、こちらでくわしく説明していますので参考にしてくださいね。

【Javaで正規表現】文字列をチェックするパターンの書き方とサンプル
更新日 : 2019年4月23日

Stringの使い方の総まとめ記事はこちら

Stringのさまざまな使い方についてはこちらで詳しく解説しているので、ぜひ確認してください!

【Java String】7つの基本的な使い方で文字列操作を理解しよう
更新日 : 2019年5月7日

まとめ

今回は文字列をint型に変換する方法について解説してきましたが、いかがでしょうか?

String型から数値型への変換はparseInteger、paraseByte、parseFloatなどのメソッドやvalueOfメソッドを使いましょう。数値から文字列はvalueOfかtoStringを使いましょう。

忘れてしまった場合、ぜひこの記事を思い出して下さい!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

オータケ

オータケ

30歳、フリーランスプログラマ。中学の頃よりプログラミングに興味を持ちゲーム開発やWebサイト構築などを経験
新しいフレームワークやライブラリに興味があり革新的な機能が含まれていると泣いて喜ぶ。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説