Java で toString メソッドをオーバーライドする
 
文字列はすべてのプログラムの重要な部分であるため、Java で文字列を使用することがよくあります。このチュートリアルでは、概念をよりよく理解するための簡単な例を使用して、Java で tostring() メソッドをオーバーライドする方法を説明します。
Java で@Override アノテーションを使用して toString() メソッドをオーバーライドする
    
toString() メソッドは、Java のすべてのクラスのスーパークラスである Object クラスの一部です。これは、すべてのクラスに独自の toString() メソッドがあることを意味します。ただし、デフォルトの toString() メソッドから毎回目的の出力が得られるわけではありません。メソッドをオーバーライドし、必要に応じてカスタマイズする必要がある場合です。
toString() メソッドをオーバーライドする方法を示すために、2つの例を示します。1つは toString() メソッドをオーバーライドせず、もう 1つはメソッドをオーバーライドします。
以下の例では、コンストラクターで初期化される 3つの変数を持つクラス ExampleClass があります。渡された引数を使用して ExampleClass クラスのオブジェクトを作成し、そのオブジェクトを出力すると、意味がなく、人間が読み取れないオブジェクトが取得されます。これは、exampleClass を出力するときに、デフォルトの toString() が呼び出されるためです。しかし、変数の値を文字列として出力したいと思います。これを行うには、次の例で toString() メソッドをオーバーライドします。
public class OverrideToString {
  public static void main(String[] args) {
    ExampleClass exampleClass = new ExampleClass("Alex", "Novel", 24);
    System.out.println(exampleClass);
  }
}
class ExampleClass {
  String firstName;
  String lastName;
  int age;
  ExampleClass(String firstName, String lastName, int age) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
  }
}
出力:
ExampleClass@37bba400
次のコードでは、前と同じ例を使用しますが、今回は@Override アノテーションを使用して toString() メソッドをオーバーライドし、メソッド名を toString() として返しタイプ String を記述します。。これは手動で行うことも、多くの IDE に含まれているショートカットを使用することもできます。
メソッドは文字列を返すので、それを作成する必要があります。変数を String と連結して、単一の String を作成します。最後に、exampleClass のオブジェクトを作成して出力すると、渡された変数の値を含む文字列として出力が取得されます。これは、toString() メソッドをオーバーライドして独自の実装を指定するために発生します。
public class OverrideToString {
  public static void main(String[] args) {
    ExampleClass exampleClass = new ExampleClass("Alex", "Novel", 24);
    System.out.println(exampleClass);
  }
}
class ExampleClass {
  String firstName;
  String lastName;
  int age;
  ExampleClass(String firstName, String lastName, int age) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
  }
  @Override
  public String toString() {
    return "firstName='" + firstName + '\'' + ", lastName='" + lastName + '\'' + ", age=" + age;
  }
}
出力:
firstName='Alex', lastName='Novel', age=24
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn