【Java入門】toStringで数値を文字列へ変換(オーバーライドも解説)

こんにちは!エンジニアの中沢です。

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メソッドの使い方を忘れてしまったらこの記事を確認してください!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次