【Java】String型⇔Object型変換
この記事ではJavaのString型⇔Object型の型変換ついて解説します。
String型⇒Object型への型変換
String型からObject型に型変換するには、toStringメソッドまたはString.valueOfを使用します。
●toStringメソッド
Object obj = 123456; String str = obj.toString(); // 型がintなのでfalse System.out.println(obj instanceof String); System.out.println(obj); // 型がStringなのでtrue System.out.println(str instanceof String); System.out.println(str); // 実行結果 false 123456 true 123456
●String.valueOfメソッド
Object型⇒String型への型変換
Object型からString型に型変換するにはObject型の変数にそのまま代入すればよいです。
String str = "123456"; // 型がStringなのでtrue※Object型はStringのスーパークラスのため System.out.println(str instanceof Object); System.out.println(str); Object obj = str; // 型がObjectなのでtrue System.out.println(obj instanceof Object); System.out.println(obj); // 実行結果 true 123456 true 123456
(String)objはNG
Object obj = 123456のようにプリミティブ型の変数が代入してあるとき、(String)objのキャストは以下のようなエラーとなります
Object obj = 123456; String str = (String) obj; // 実行結果 Exception in thread "main" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String (java.lang.Integer and java.lang.String are in module java.base of loader 'bootstrap') at study_java.Mainsub.tesuto(Mainsub.java:88) at study_java.Main.main(Main.java:15)
Javaの記事の一覧はJava にまとめてあります