String型と浮動小数点数(float,double)の変換方法が知りたい
String型と日付型の変換方法が知りたい
JavaのStringを扱う上で、文字列を数値型などに変換するといった対応が必要なことがあります。JavaではString型をさまざまな型に変換することが可能です。
この記事では、Stringから整数型や他の型へ変換する方法について網羅的に解説していきます。
なお、Javaの記事については、こちらにまとめています。
Stringと整数値の変換
String型と整数型の相互変換のメソッド、書き方について表にまとめました。
変換前の型 | 変換後の型 | メソッド | 書き方例 |
---|---|---|---|
String | int | Integer.parseInt Integer.valueOf | Integer.parseInt("1") Integer.valueOf(“1”) |
short | Short.parseShort Short.valueOf | Short.parseShort(“1”) Short.valueOf(“1”) |
|
long | Long.parseLong Long.valueOf | Long.parseLong(“1”) Long.valueOf(“1”) |
|
整数値型(int, short, long) | String | String.valueOf | String.valueOf(1) |
int | String | Integer.toString | Integer.toString(1) |
short | String | Short.toString | Short.toString((short)1) |
long | String | Long.toString | Long.toString(1l) |
String型から整数型への変換はparseInteger、paraseShort、parseLongなどのメソッドやvalueOfメソッドが使用できます。
整数型から文字列型への変換はvalueOfメソッドやtoStringメソッドが使用できます。
それぞれの使用例についてサンプルコードで確認していきましょう。
shortとString
shortからStringへの変換
shortの値をStringへ変換する場合は、valueOfメソッドを使用します。
valueOfメソッドの引数に、shortの値を指定します。
public class Main { public static void main(String[] args) { short sh = 100; String str = String.valueOf(sh); System.out.println("str:" + str); } }
実行結果:
str:100
Stringからshortへの変更
Stringからshortへ変換する場合は、parseShortメソッドを使用して、引数に文字列を指定します。
public class Main { public static void main(String[] args) { String str = "100"; short sh = Short.parseShort(str); System.out.println("sh : " + sh); } }
実行結果:
sh : 100
intとString
intからStirngへの変換
intの値をStringへ変換する場合は、valueOfメソッドを使用します。
valueOfメソッドの引数に、intの値を指定します。
public class Main { public static void main(String[] args) { int num = 100; String str = String.valueOf(num); System.out.println("str : " + str); } }
実行結果:
str : 100
Stringからintへの変換
Stringからintへ変換する場合は、parseIntメソッドを使用して、引数に文字列を指定します。
public class Main { public static void main(String[] args) { String str = "100"; int num = Integer.parseInt(str); System.out.println("num : " + num); } }
実行結果:
num : 100
longとString
longからStringへの変換
longの値をStringへ変換する場合は、valueOfメソッドを使用します。
valueOfメソッドの引数に、longの値を指定します。
public class Main { public static void main(String[] args) { long lon = 100; String str = String.valueOf(lon); System.out.println("str : " + str); } }
実行結果:
str : 100
Stringからlongへの変換
Stringからlongへ変換する場合は、parseLongメソッドを使用して、引数に文字列を指定します。
public class Main { public static void main(String[] args) { String str = "100"; long lon = Long.parseLong(str); System.out.println("lon : " + lon); } }
実行結果:
lon : 100
Stringと浮動小数点数の変換
String型と浮動小数点数の相互変換のメソッド、書き方について表にまとめました。
変換前の型 | 変換後の型 | メソッド | 書き方例 |
---|---|---|---|
String | float | Float.parseFloat Float.valueOf | Float.parseFloat(“1”) Float.valueOf(“1”) |
double | Double.parseDouble Double.valueOf | Double.parseDouble(“1”) Double.valueOf(“1”) |
|
小数点数型(float, double) | String | String.valueOf | String.valueOf(1) |
float | String | Float.toString | Float.toString(1.0f) |
double | String | Double.toString | Double.toString(1.0) |
String型から浮動小数点数への変換はparseFloat、parseDoubleなどのメソッドやvalueOfメソッドが使用できます。
浮動小数点数から文字列型への変換はvalueOfメソッドやtoStringメソッドが使用できます。
それぞれの使用例についてサンプルコードで確認していきましょう。
floatとString
floatからStringへの変換
floatの値をStringへ変換する場合は、valueOfメソッドを使用します。
valueOfメソッドの引数に、floatの値を指定します。
public class Main { public static void main(String[] args) { float fl = 100; String str = String.valueOf(fl); System.out.println("str : " + str); } }
実行結果:
str : 100.0
Stringからfloatへの変換
Stringからfloatへ変換する場合は、parseFloatメソッドを使用して、引数に文字列を指定します。
public class Main { public static void main(String[] args) { String str = "100"; float fl = Float.parseFloat(str); System.out.println("fl : " + fl); } }
実行結果:
fl : 100.0
doubleとString
doubleからStringへの変換
doubleの値をStringへ変換する場合は、valueOfメソッドを使用します。
valueOfメソッドの引数に、doubleの値を指定します。
public class Main { public static void main(String[] args) { double db = 100; String str = String.valueOf(db); System.out.println("str : " + str); } }
実行結果:
str : 100.0
Stringからdoubleへの変換
Stringからdoubleへ変換する場合は、parseDoubleメソッドを使用して、引数に文字列を指定します。
public class Main { public static void main(String[] args) { String str = "100"; double db = Double.parseDouble(str); System.out.println("db : " + db); } }
実行結果:
db : 100.0
Stringとbooleanの変換
String型と真偽値の相互変換のメソッド、書き方について表にまとめました。
変換前の型 | 変換後の型 | メソッド | 書き方例 |
---|---|---|---|
String | boolean | Boolean.valueOf | Boolean.valueOf(“true”) |
boolean | String | String.valueOf | String.valueOf(true) |
String型から真偽値への変換はvalueOfメソッドが使用できます。
真偽値から文字列型への変換はvalueOfメソッドが使用できます。
それぞれの使用例についてサンプルコードで確認していきましょう。
booleanからStringへの変換
booleanの値をStringへ変換する場合は、valueOfメソッドを使用します。
valueOfメソッドの引数に、booleanの値(true or false)を指定します
public class Main { public static void main(String[] args) { boolean bool1 = true; boolean bool2 = false; String str1 = String.valueOf(bool1); String str2 = String.valueOf(bool2); System.out.println("str1 : " + str1); System.out.println("str2 : " + str2); } }
実行結果:
str1 : true str2 : false
Stringからbooleanへの変換
Stringからbooleanへ変換する場合は、valueOfメソッドを使用して、引数に文字列を指定します。
public class Main { public static void main(String[] args) { String str1 = "true"; String str2 = "false"; boolean bool1 = Boolean.valueOf(str1); boolean bool2 = Boolean.valueOf(str2); System.out.println("bool1 : " + bool1); System.out.println("bool2 : " + bool2); } }
実行結果:
bool1 : true bool2 : false
valueOfメソッドに指定する文字列は、真偽値(true、false)ですが、真偽値以外の文字列を指定すると、falseが返されます。
StringとDateの変換
DateからStringへの変換
Dateの値をStringへ変換する場合は、valueOfメソッドを使用します。
valueOfメソッドの引数に、Dateの値を指定します。
import java.util.Date; public class Main { public static void main(String[] args) { Date d = new Date(); String str = String.valueOf(d); System.out.println("str : " + str); } }
実行結果:
str : Tue Mar 07 02:19:03 UTC 2017
StringからDateへの変換
Stringからdataへ変換する場合は、まずSimpleDateFormatクラスを使用して、日付時刻のフォーマットを指定します。
そのあとに、parseメソッドを使用して引数に文字列を指定します。
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { String str = "20170307 12:00:00"; SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd HH:mm:ss"); try { Date d = sd.parse(str); System.out.println("d : " + d.toString()); } catch(ParseException e) { e.printStackTrace(); } } }
実行結果:
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の値を指定します。
public class Main { public static void main(String[] args) { char c = 'a'; String str = String.valueOf(c); System.out.println("str : " + str); } }
実行結果:
str : a
Stringからcharへの変換
Stringからcharへ変換する場合は、charAtメソッドを使用してStringのindex番号を指定して、1文字だけ取得することができます。
public class Main { public static void main(String[] args) { String str = "apple"; char c = str.charAt(0); System.out.println("c : " + c); } }
実行結果:
c : a
Stringの値を全て取得したい場合は、toCharArrayメソッドを使用します。
public class Main { public static void main(String[] args) { String str = "apple"; char[] c = str.toCharArray(); for(char c1 : c) { System.out.println(c1); } } }
実行結果:
a p p l e
Stringとbyteの変換
byte配列からStringへの変換
byteの値をStringへ変換する場合は、Stringのコンストラクタを使用します。
Stringのコンストラクタの引数に、byteの値を指定します。
public class Main { public static void main(String[] args) { byte[] sbyte = "12345".getBytes(); String str = new String(sbyte); System.out.println("str : " + str); } }
実行結果:
str : 12345
Stringからbyte配列への変換
Stringの値をbyteへ変換する場合は、getBytesメソッドを使用します。
public class Main { public static void main(String[] args) { String str = "apple"; byte[] sbyte = str.getBytes(); for(int i=0; i<sbyte.length; i++) { //16進数で出力 System.out.println(Integer.toHexString(sbyte[i])); } } }
実行結果:
61 70 70 6c 65
まとめ
Stringからさまざまな型へ変換する方法について説明しました。
Stringからの型変換は、あらゆる場面で使用する機会があると思います。
もし、Stringからの型変換の方法を忘れてしまったら、この記事を思い出してくださいね!