JavaでのtoStringメソッドの使い方|オーバーライド方法も紹介

- SE
- JavaでのtoStringメソッドを使用するとどうなるのでしょうか。
- PM
- 整数や配列、Map、Listなどを文字列に変換できますが、対象オブジェクトがnullの場合は例外が発生しますので注意が必要です。
JavaでのtoStringメソッドの使い方を紹介します!
今回は、JavaでのtoStringメソッドの使い方について説明します。
toStringメソッドを使用すれば、整数や配列、Map、Listなどを文字列に変換できます。対象オブジェクトがnullの場合は例外が発生しますので注意が必要です。また、自作クラスでのtoStringメソッドのオーバーライド方法についても紹介します。
JavaでのtoStringメソッドの使い方に興味のある方はぜひご覧ください。
整数
Javaにおいて、整数を文字列に変換する方法を紹介します。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main { public static void main(String[] args) throws Exception { int num1 = 100; int num2 = 200; System.out.println(num1 + num2); // 300 // 文字列に変換 String str1 = Integer.toString(num1); String str2 = Integer.toString(num2); System.out.println(str1 + str2); // 100200 } } |
実行結果は以下のようになります。
1 2 |
300 100200 |
配列
Javaでは、配列を文字列に変換できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 |
import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { String[] strArray = { ""item1"", ""item2"", ""item3"", ""item4"", ""item5"" }; System.out.println(strArray.toString()); System.out.println(Arrays.toString(strArray)); } } |
実行結果は以下のようになります。
1 2 |
[Ljava.lang.String;@36baf30c [item1, item2, item3, item4, item5] |
Map
Javaでは、Mapを文字列に変換できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import java.util.HashMap; public class Main { public static void main(String[] args) throws Exception { HashMap<String, String> map = new HashMap<>(); map.put(""key1"", ""value1""); map.put(""key2"", ""value2""); map.put(""key3"", ""value3""); map.put(""key4"", ""value4""); map.put(""key5"", ""value5""); System.out.println(map.toString()); } } |
実行結果は以下のようになります。
1 |
{key1=value1, key2=value2, key5=value5, key3=value3, key4=value4} |
List
Javaでは、Listを文字列に変換できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 |
import java.util.List; import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { List<String> myList = Arrays.asList(""item1"", ""item2"", ""item3"", ""item4"", ""item5""); System.out.println(myList.toString()); } } |
実行結果は以下のようになります。
1 |
[item1, item2, item3, item4, item5] |
オーバーライド
Javaで、自作クラスにtoStringメソッドを使用する場合は注意が必要です。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 |
class ToStringTest { int num = 20; } public class Main { public static void main(String[] args) throws Exception { ToStringTest toStringTest = new ToStringTest(); String str = toStringTest.toString(); System.out.println(str); } } |
実行結果は以下のようになります。
1 |
ToStringTest@7a81197d |
これでは中身を確認することができません。
この場合、toStringメソッドをオーバーライドします。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
class ToStringTest { int num = 100; @Override public String toString() { return """" + num; } } public class Main { public static void main(String[] args) throws Exception { ToStringTest toStringTest = new ToStringTest(); String str = toStringTest.toString(); System.out.println(str); } } |
実行結果は以下のようになります。
1 |
100 |
これで中身が確認できるようになりました。
nullの場合
JavaのtoStringメソッドでは、nullの場合は注意が必要です。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 |
public class Main { public static void main(String[] args) throws Exception { Integer num = null; // 文字列に変換 String str = Integer.toString(num); System.out.println(str); } } |
実行すると、NullPointerExceptionが発生します。例外を発生させない方法として、valueOfメソッドを使用します。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 |
public class Main { public static void main(String[] args) throws Exception { Integer num = null; // 文字列に変換 String str = String.valueOf(num); System.out.println(str); } } |
実行結果は以下のようになります。
1 |
null |
この場合、nullではなく、nullという文字列に変換されています。
便利なメソッドとして、Objects.toStringメソッドがあります。第2引数にnullの場合の文字列を指定できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import java.util.Objects; public class Main { public static void main(String[] args) throws Exception { Object num = null; // 文字列に変換 String str1 = Objects.toString(num); System.out.println(str1); String str2 = Objects.toString(num, ""nullです""); System.out.println(str2); } } |
実行結果は以下のようになります。
1 2 |
null nullです |
- SE
- toStringメソッドの使用で整数や配列、Map、Listなどを文字列に変換できますが、使い方には注意が必要なのですね。
- PM
- nullの場合に注意をしながら、ソースコードに書いて理解を深めましょう。
まとめ
いかがでしたでしょうか。
JavaでのtoStringメソッドの使い方について説明しました。toStringメソッドを使用すれば、整数や配列、Map、Listなどを文字列に変換できます。
対象オブジェクトがnullの場合は例外が発生しますので注意が必要です。また、自作クラスでのtoStringメソッドのオーバーライド方法についても紹介しました。
ぜひご自身でJavaのソースコードを書いて、理解を深めてください。