javaでtoStringとStringの違い
Javaでは、toString()とStringは異なる概念です。
- toString()はObjectクラスのメソッドで、全てのJavaクラスはObjectクラスを継承しているので、全てのJavaクラスでtoString()メソッドを利用できます。オブジェクトの文字列表現を返すために使われ、一般的にはオブジェクトを文字列に変換して出力します。デフォルトでは、toString()メソッドはクラス名とハッシュコードを含む文字列を返します。
例えば:
public class Person {
private String name;
private int age;
// 构造函数和其他方法省略
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
Person person = new Person("Alice", 20);
System.out.println(person.toString()); // 输出:Person{name='Alice', age=20}
System.out.println(person); // 等同于System.out.println(person.toString())
上記の例では、Person クラスの toString() メソッドをオーバーライドすることで、オブジェクトの文字列表現をカスタマイズできます。
- StringはJavaにおける文字列型を表すクラスです。不変なので、一度作成したら変更できません。Stringクラスはconcat()、length()、substring()など、文字列を操作するためのメソッドを数多く提供しています。
例えば、
String str1 = "Hello";
String str2 = "World";
String str3 = str1 + " " + str2;
System.out.println(str3); // 输出:Hello World
System.out.println(str3.length()); // 输出:11
上記の例では、`+`演算子を使用して2つの文字列を連結させ、新たな文字列として得ました。
toString()メソッドとは、オブジェクトを文字列に変換するもので、文字列タイプを表すのはStringクラスです。