JavaでtoStringメソッドを使う方法
Javaでは、toStringメソッドはオブジェクトクラスのメソッドで、オブジェクトの 文字列表現 を取得します。既定では、toStringメソッドはオブジェクトのクラス名とハッシュコードの文字列表現を返します。
クラスのtoStringメソッドをカスタマイズして、そのクラスのオブジェクトを希望する文字列形式に変換したい場合、次の手順に従ってください。
- 独自のクラスでは、toString()メソッドをオーバーライドする。オーバーライドする時は、メソッドの署名、つまりメソッド名、戻り値の型、パラメータのリストが、ObjectクラスのtoStringメソッドと同じである必要がある。
- オブジェクトの各プロパティを文字列形式に変換し、必要に応じて完全な文字列に連結します。
- 結合後の文字列を返します。
以下是一个示例代码,展示了如何在一个自定义的Person类中使用toString方法:
public class Person {
private String name;
private int age;
// 构造方法、getter和setter方法等省略
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
上記コードでは、PersonクラスのtoStringメソッドをオーバーライドして、オブジェクトのnameとageプロパティを文字列に変換し、それらを1つの完全な文字列として連結しています。返される形式はPerson [name=xxx, age=xxx]です。
Personオブジェクトを文字列に変換する必要がある場合は、オブジェクトのtoStringメソッドを呼び出します。
Person person = new Person("Alice", 25);
String str = person.toString();
System.out.println(str);
上記のコードを実行すると、Person [name=Alice, age=25]が出力されます。
Java の一部ライブラリは、文字列表現をより有用で理解しやすくするために toString メソッドが一般的な慣習に沿ってオーバーライドされていることに注意してください。そのため、一部のライブラリが提供するクラスを使用する場合、toString メソッドを独自に再実装する必要はなく、その文字列表現を取得するために toString メソッドを直接呼び出すことができます。