カテゴリ: Java 更新日: 2026/02/26

JavaのStringクラスとtoStringメソッドを完全解説!初心者でも理解できる文字列表現の基本

StringのtoStringメソッド
StringのtoStringメソッド

先生と生徒の会話形式で理解しよう

生徒

「Javaでオブジェクトを文字列として表現する方法はありますか?」

先生

「はい、JavaではObjectクラスのtoStringメソッドを使うと、オブジェクトを文字列として表現できます。特にStringクラスでは、文字列そのものを返すように設計されていますよ。」

生徒

「なるほど!それは便利ですね。具体的にどのように使うんですか?」

先生

「では、toStringメソッドの基本的な使い方を見ていきましょう!」

1. JavaのStringクラスとtoStringメソッドとは?

1. JavaのStringクラスとtoStringメソッドとは?
1. JavaのStringクラスとtoStringメソッドとは?

Javaプログラミングにおいて、Stringクラスはテキスト(文字列)を扱うための最も基本的な道具です。名前や住所、メッセージなど、画面に表示される情報の多くはこのStringクラスを使って処理されます。

そして、すべてのJavaオブジェクトが共通して持っている特別な命令がtoStringメソッドです。これは「そのオブジェクトを文字列として表現してね」とお願いする役割を持っています。Stringクラスの場合、このメソッドは「自分自身の文字列をそのまま返す」ように設計されています。

未経験者向けポイント: Javaでは、数値を表示するときやデバッグを行うときなど、あらゆる場面で「中身を文字で見たい!」というニーズが発生します。その時の標準的な窓口がtoStringメソッドなのです。

まずは、StringクラスでtoStringメソッドを使った非常にシンプルな例を見てみましょう。


public class BasicToStringExample {
    public static void main(String[] args) {
        // 1. String型の変数を作成
        String message = "こんにちは、Java!";

        // 2. toStringメソッドを使って文字列を取得
        String result = message.toString();

        // 3. 結果を表示
        System.out.println("取得した文字列: " + result);
    }
}

このプログラムを実行すると、以下の結果が表示されます。


取得した文字列: こんにちは、Java!

Stringオブジェクトに対してtoString()を呼び出すと、格納されている文字列がそのまま出力されます。実は、Javaの内部ではSystem.out.printlnでオブジェクトを表示しようとする際、自動的にこのメソッドを呼び出してくれています。そのため、普段は意識しなくても「暗黙的」に活用されている非常に重要な仕組みなのです。

2. toStringメソッドの使い方

2. toStringメソッドの使い方
2. toStringメソッドの使い方

toStringメソッドを使うことで、オブジェクトを簡単に文字列として扱うことができます。Stringクラスの場合、このメソッドは文字列自体を返します。このメソッドの構文は以下の通りです。

  • public String toString()

以下に基本的な例を示します。


public class ToStringExample {
    public static void main(String[] args) {
        String text = "Hello, Java!";
        System.out.println("文字列のtoString呼び出し: " + text.toString());
    }
}

このプログラムを実行すると、以下の結果が得られます。


文字列のtoString呼び出し: Hello, Java!

3. toStringメソッドを使うときの注意点

3. toStringメソッドを使うときの注意点
3. toStringメソッドを使うときの注意点

toStringメソッドを使用する際には、以下の点に注意してください。

  • StringクラスではtoStringメソッドを明示的に呼び出さなくても問題ありません。
  • カスタムクラスでtoStringをオーバーライドしていない場合は、オブジェクトのクラス名とハッシュコードが返されます。

以下にカスタムクラスでtoStringメソッドをオーバーライドする例を示します。


class CustomClass {
    private String name;
    public CustomClass(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "CustomClass{name='" + name + "'}";
    }
}

public class CustomToStringExample {
    public static void main(String[] args) {
        CustomClass custom = new CustomClass("Example");
        System.out.println(custom);
    }
}

このプログラムを実行すると、次のような結果が得られます。


CustomClass{name='Example'}

4. toStringメソッドの応用例

4. toStringメソッドの応用例
4. toStringメソッドの応用例

以下は、複数のStringオブジェクトをtoStringメソッドを使用して結合する例です。


public class StringConcatenationExample {
    public static void main(String[] args) {
        String part1 = "Java";
        String part2 = "Programming";
        String combined = part1.toString() + " " + part2.toString();
        System.out.println("結合された文字列: " + combined);
    }
}

このプログラムを実行すると、以下の結果が得られます。


結合された文字列: Java Programming

5. よくある質問と回答

5. よくある質問と回答
5. よくある質問と回答

Q: toStringメソッドを明示的に呼び出す必要がありますか?

A: 通常は必要ありません。StringオブジェクトをSystem.out.printlnで出力するときなどは、暗黙的にtoStringが呼び出されます。

まとめ

まとめ
まとめ

JavaのtoStringメソッドは、文字列やオブジェクトを文字列として表現する際に非常に便利なメソッドです。特にStringクラスでは、オブジェクトそのものが文字列を表しているため、toStringメソッドを明示的に呼び出す必要はほとんどありません。ただし、カスタムクラスでtoStringをオーバーライドすることで、より人間に読みやすい形でオブジェクトの情報を出力することが可能です。

また、toStringメソッドを使ってデバッグやログの出力を行う際には、カスタムクラスに適切なオーバーライドを実装することで効率的な開発が可能になります。初心者でも扱いやすいこのメソッドを理解することで、より良いプログラムを書く助けとなるでしょう。

以下は、振り返りとしてもう一度カスタムクラスでtoStringメソッドをオーバーライドする例です。


class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{name='" + name + "', age=" + age + "}";
    }
}

public class PersonExample {
    public static void main(String[] args) {
        Person person = new Person("John Doe", 30);
        System.out.println(person.toString());
    }
}

実行結果:


Person{name='John Doe', age=30}
先生と生徒の振り返り会話

生徒

「今日学んだtoStringメソッドは、他のクラスにも使えるんですね!」

先生

「その通りです!特にデバッグやログ出力では、カスタムクラスでtoStringをオーバーライドすると便利です。」

生徒

「確かに、わかりやすい出力ができるとプログラムの確認がしやすくなりますね。」

先生

「はい。これを活用して、より読みやすいコードを書いてみましょう!」

カテゴリの一覧へ
新着記事
New1
Thymeleaf
Thymeleafのth:selected属性の使い方を完全解説!初心者でもわかるセレクトボックス選択状態の指定方法
更新記事
New2
Java
JavaのBigIntegerクラスとmodメソッドを完全解説!余り計算を初心者向けにやさしく理解しよう
更新記事
New3
Java
JavaのStringクラスとstartsWithメソッドを徹底解説!初心者でもわかる文字列の判定方法
更新記事
New4
Java
JavaのLocalDateTime.compareToメソッドを完全解説!初心者でもわかる日時比較の基本
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.3
Java&Spring記事人気No3
Java
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.4
Java&Spring記事人気No4
Spring
Spring BootのMultipartFile入門:ファイルアップロード・ダウンロードの実装方法と制限設定
No.5
Java&Spring記事人気No5
Spring
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説
No.6
Java&Spring記事人気No6
Spring
Javaの@PreAuthorizeアノテーションを完全ガイド!初心者でもわかるメソッドセキュリティ設定
No.7
Java&Spring記事人気No7
Thymeleaf
Thymeleafのth:classappend属性の使い方を完全ガイド!初心者でもわかる動的クラス追加
No.8
Java&Spring記事人気No8
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門