JavaでString(文字列)を変換する方法まとめ(short,int,long等に変換)

JavaでString型と整数型(short,int,long)の変換方法が知りたい
String型と浮動小数点数(float,double)の変換方法が知りたい
String型と日付型の変換方法が知りたい

JavaのStringを扱う上で、文字列を数値型などに変換するといった対応が必要なことがあります。JavaではString型をさまざまな型に変換することが可能です。

この記事では、Stringから整数型や他の型へ変換する方法について網羅的に解説していきます。

Stringと整数値の変換

String型と整数型の相互変換のメソッド、書き方について表にまとめました。

変換前の型変換後の型メソッド書き方例
StringintInteger.parseInt
Integer.valueOf
Integer.parseInt("1")
Integer.valueOf(“1”)
shortShort.parseShort
Short.valueOf
Short.parseShort(“1”)
Short.valueOf(“1”)
longLong.parseLong
Long.valueOf
Long.parseLong(“1”)
Long.valueOf(“1”)
整数値型(int, short, long)StringString.valueOfString.valueOf(1)
intStringInteger.toStringInteger.toString(1)
shortStringShort.toStringShort.toString((short)1)
longStringLong.toStringLong.toString(1l)

String型から整数型への変換はparseInteger、paraseShort、parseLongなどのメソッドやvalueOfメソッドが使用できます。

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

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

shortとString

shortからStringへの変換

shortの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、shortの値を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. short sh = 100;
  4. String str = String.valueOf(sh);
  5. System.out.println("str:" + str);
  6. }
  7.  
  8. }

実行結果:

  1. str100

Stringからshortへの変更

Stringからshortへ変換する場合は、parseShortメソッドを使用して、引数に文字列を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. String str = "100";
  4. short sh = Short.parseShort(str);
  5. System.out.println("sh : " + sh);
  6. }
  7.  
  8. }

実行結果:

  1. sh : 100

intとString

intからStirngへの変換

intの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、intの値を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. int num = 100;
  4. String str = String.valueOf(num);
  5. System.out.println("str : " + str);
  6. }
  7.  
  8. }

実行結果:

  1. str : 100

Stringからintへの変換

Stringからintへ変換する場合は、parseIntメソッドを使用して、引数に文字列を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. String str = "100";
  4. int num = Integer.parseInt(str);
  5. System.out.println("num : " + num);
  6. }
  7.  
  8. }

実行結果:

  1. num : 100

longとString

longからStringへの変換

longの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、longの値を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. long lon = 100;
  4. String str = String.valueOf(lon);
  5. System.out.println("str : " + str);
  6. }
  7.  
  8. }

実行結果:

  1. str : 100

Stringからlongへの変換

Stringからlongへ変換する場合は、parseLongメソッドを使用して、引数に文字列を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. String str = "100";
  4. long lon = Long.parseLong(str);
  5. System.out.println("lon : " + lon);
  6. }
  7.  
  8. }

実行結果:

  1. lon : 100

Stringと浮動小数点数の変換

String型と浮動小数点数の相互変換のメソッド、書き方について表にまとめました。

変換前の型変換後の型メソッド書き方例
StringfloatFloat.parseFloat
Float.valueOf
Float.parseFloat(“1”)
Float.valueOf(“1”)
doubleDouble.parseDouble
Double.valueOf
Double.parseDouble(“1”)
Double.valueOf(“1”)
小数点数型(float, double)StringString.valueOfString.valueOf(1)
floatStringFloat.toStringFloat.toString(1.0f)
doubleStringDouble.toStringDouble.toString(1.0)

String型から浮動小数点数への変換はparseFloat、parseDoubleなどのメソッドやvalueOfメソッドが使用できます。

浮動小数点数から文字列型への変換はvalueOfメソッドやtoStringメソッドが使用できます。

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

floatとString

floatからStringへの変換

floatの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、floatの値を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. float fl = 100;
  4. String str = String.valueOf(fl);
  5. System.out.println("str : " + str);
  6. }
  7.  
  8. }

実行結果:

  1. str : 100.0

Stringからfloatへの変換

Stringからfloatへ変換する場合は、parseFloatメソッドを使用して、引数に文字列を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. String str = "100";
  4. float fl = Float.parseFloat(str);
  5. System.out.println("fl : " + fl);
  6. }
  7.  
  8. }

実行結果:

  1. fl : 100.0

doubleとString

doubleからStringへの変換

doubleの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、doubleの値を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. double db = 100;
  4. String str = String.valueOf(db);
  5. System.out.println("str : " + str);
  6. }
  7.  
  8. }

実行結果:

  1. str : 100.0

Stringからdoubleへの変換

Stringからdoubleへ変換する場合は、parseDoubleメソッドを使用して、引数に文字列を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. String str = "100";
  4. double db = Double.parseDouble(str);
  5. System.out.println("db : " + db);
  6. }
  7.  
  8. }

実行結果:

  1. db : 100.0

Stringとbooleanの変換

String型と真偽値の相互変換のメソッド、書き方について表にまとめました。

変換前の型変換後の型メソッド書き方例
StringbooleanBoolean.valueOfBoolean.valueOf(“true”)
booleanStringString.valueOfString.valueOf(true)

String型から真偽値への変換はvalueOfメソッドが使用できます。

真偽値から文字列型への変換はvalueOfメソッドが使用できます。

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

booleanからStringへの変換

booleanの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、booleanの値(true or false)を指定します

  1. public class Main {
  2. public static void main(String[] args) {
  3. boolean bool1 = true;
  4. boolean bool2 = false;
  5. String str1 = String.valueOf(bool1);
  6. String str2 = String.valueOf(bool2);
  7. System.out.println("str1 : " + str1);
  8. System.out.println("str2 : " + str2);
  9. }
  10.  
  11. }

実行結果:

  1. str1 : true
  2. str2 : false

Stringからbooleanへの変換

Stringからbooleanへ変換する場合は、valueOfメソッドを使用して、引数に文字列を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. String str1 = "true";
  4. String str2 = "false";
  5. boolean bool1 = Boolean.valueOf(str1);
  6. boolean bool2 = Boolean.valueOf(str2);
  7. System.out.println("bool1 : " + bool1);
  8. System.out.println("bool2 : " + bool2);
  9. }
  10.  
  11. }

実行結果:

  1. bool1 : true
  2. bool2 : false

valueOfメソッドに指定する文字列は、真偽値(true、false)ですが、真偽値以外の文字列を指定すると、falseが返されます。

StringとDateの変換

DateからStringへの変換

Dateの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、Dateの値を指定します。

  1. import java.util.Date;
  2.  
  3. public class Main {
  4. public static void main(String[] args) {
  5. Date d = new Date();
  6. String str = String.valueOf(d);
  7. System.out.println("str : " + str);
  8. }
  9.  
  10. }

実行結果:

  1. str : Tue Mar 07 02:19:03 UTC 2017

StringからDateへの変換

Stringからdataへ変換する場合は、まずSimpleDateFormatクラスを使用して、日付時刻のフォーマットを指定します。

そのあとに、parseメソッドを使用して引数に文字列を指定します。

  1. import java.text.ParseException;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4.  
  5. public class Main {
  6. public static void main(String[] args) {
  7. String str = "20170307 12:00:00";
  8. SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
  9. try {
  10. Date d = sd.parse(str);
  11. System.out.println("d : " + d.toString());
  12. } catch(ParseException e) {
  13. e.printStackTrace();
  14. }
  15. }
  16.  
  17. }

実行結果:

  1. d : Tue Mar 07 12:00:00 UTC 2017

parseメソッドでString型をdata型に変換するときに、Stringの値がSimpleDateFormatクラスで指定したフォーマット以外の文字列を指定した場合、”java.text.ParseException”の例外が発生しますので注意してください。

Stringとcharの変換

charからStringへの変換

charの値をStringへ変換する場合は、valueOfメソッドを使用します。

valueOfメソッドの引数に、charの値を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. char c = 'a';
  4. String str = String.valueOf(c);
  5. System.out.println("str : " + str);
  6. }
  7.  
  8. }

実行結果:

  1. str : a

Stringからcharへの変換

Stringからcharへ変換する場合は、charAtメソッドを使用してStringのindex番号を指定して、1文字だけ取得することができます。

  1. public class Main {
  2. public static void main(String[] args) {
  3. String str = "apple";
  4. char c = str.charAt(0);
  5. System.out.println("c : " + c);
  6. }
  7.  
  8. }

実行結果:

  1. c : a

Stringの値を全て取得したい場合は、toCharArrayメソッドを使用します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. String str = "apple";
  4. char[] c = str.toCharArray();
  5. for(char c1 : c) {
  6. System.out.println(c1);
  7. }
  8. }
  9.  
  10. }

実行結果:

  1. a
  2. p
  3. p
  4. l
  5. e

Stringとbyteの変換

byte配列からStringへの変換

byteの値をStringへ変換する場合は、Stringのコンストラクタを使用します。

Stringのコンストラクタの引数に、byteの値を指定します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. byte[] sbyte = "12345".getBytes();
  4. String str = new String(sbyte);
  5. System.out.println("str : " + str);
  6. }
  7.  
  8. }

実行結果:

  1. str : 12345

Stringからbyte配列への変換

Stringの値をbyteへ変換する場合は、getBytesメソッドを使用します。

  1. public class Main {
  2. public static void main(String[] args) {
  3. String str = "apple";
  4. byte[] sbyte = str.getBytes();
  5. for(int i=0; i<sbyte.length; i++) {
  6. //16進数で出力
  7. System.out.println(Integer.toHexString(sbyte[i]));
  8. }
  9. }
  10.  
  11. }

実行結果:

  1. 61
  2. 70
  3. 70
  4. 6c
  5. 65

まとめ

Stringからさまざまな型へ変換する方法について説明しました。

Stringからの型変換は、あらゆる場面で使用する機会があると思います。

もし、Stringからの型変換の方法を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。
まずは無料体験レッスンを予約する

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。

おすすめコンテンツ

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

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

undefined