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