こんにちは!エンジニアの中沢です。
Javaには数値を文字列に変換するための「toStringメソッド」があります。toStringメソッドを自作クラスで使用する場合には、「オーバーライド」をする必要があるので注意してください。
この記事では、
- toStringメソッドとは
- toStringメソッドの使い方
- 自作クラスで使う場合の注意点
- 自作クラスでオーバーライドして使う方法
などの基本的な内容から、応用的な使い方に関しても解説していきます。今回はこれらの方法を覚えるために、「toStringメソッド」の使い方をわかりやすく解説します!
なお、Javaの記事については、こちらにまとめています。
toStringメソッドとは
toStringメソッドは、数値型などをString型の文字列に変換するために使用します。toStringメソッドは、引数にString型の文字列に変換したい変数を指定します。
戻り値として、String型の文字列を返します。
toStringメソッドの使い方
ここでは、toStringメソッドを使って数値を文字列に変換する方法を解説します。toStringメソッドは、引数に文字列に変換したい値を指定すると、戻り値として変換した文字列を返します。
次のプログラムで確認してみましょう。
public class Main { public static void main(String[] args) { int num1 = 123; int num2 = 456; System.out.println(num1 + num2); String str1 = Integer.toString(num1); String str2 = Integer.toString(num2); System.out.println(str1 + str2); } }
実行結果:
579 123456
このプログラムでは、+演算子で数値を足した結果と、文字列を結合した結果をそれぞれ表示しています。Integerはint型のラッパークラスで、toStringメソッドを呼び出すために使用しています。
ラッパークラスについてはこちらの記事で詳しく解説しているので、ぜひ確認してください。
自作クラスで使う場合の注意点
自作クラスでtoStringメソッドを使う場合には、そのままでは使えないので注意が必要です。自作クラスでは表示する文字列を指定するために、オーバーライドをして使う必要があります。
オーバーライドをしない場合にどうなるのか、次のプログラムで確認してみましょう。
class Samurai { int age = 20; } public class Main { public static void main(String[] args) { Samurai samurai = new Samurai(); String str = samurai.toString(); System.out.println(str); } }
実行結果:
sampleJava01.Samurai@15db9742
この実行結果のように、意味の分からない文字列が表示されてしまいます。toStringメソッドをオーバーライドして、目的の文字列を取得する方法はこの後で解説します。
オーバーライドについてはこちらの記事で詳しく解説しているので、ぜひ確認してください。
自作クラスでtoStringメソッドをオーバーライドして使う方法
自作クラスでtoStringメソッドを使うには、オーバーライドをする必要があります。
オーバーライドをして、目的の文字列を取得する方法を次のプログラムで確認してみましょう。
class Samurai { int age = 20; @Override public String toString() { return "age = " + age; } } public class Main { public static void main(String[] args) { Samurai samurai = new Samurai(); String str = samurai.toString(); System.out.println(str); } }
実行結果:
age = 20
このプログラムでは、自作クラスでtoStringメソッドをオーバーライドして、「age = 20」を返すようにしています。オーバーライドするときには、「@Override」というアノテーションをつけます。
アノテーションについてはこちらの記事で詳しく解説しているので、ぜひ確認してください。
まとめ
いかがでしたか?
今回は「tostringメソッド」で数値を文字列に変換する方法を解説しました。tostringメソッドは自作クラスではオーバーライドして使う必要があるので注意してくださいね。
もし、tostringメソッドの使い方を忘れてしまったらこの記事を確認してください!