toString() in Java: String-Konkatenation oder StringBuilder – was ist schneller und besser?
Hallo zusammen! Ich bin ein Java-Anfänger und habe eine Frage zur Implementierung der `toString()`-Methode in meinen Klassen.
Angenommen, ich habe eine einfache Klasse mit einigen Feldern:
```java
public class User {
private String name;
private int age;
private String email;
// Konstruktor, Getter, Setter...
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", email='" + email + '\'' +
'}';
}
}
```
Dieser Code funktioniert, aber ich habe gelesen, dass String-Konkatenation mit `+` ineffizient sein kann, da Strings in Java unveränderlich sind und bei jeder Addition ein neues String-Objekt erstellt wird. Viele empfehlen die Verwendung von `StringBuilder`:
```java
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("User{");
sb.append("name='").append(name).append('\'');
sb.append(", age=");
sb.append(age);
sb.append(", email='").append(email).append('\'');
sb.append('}');
return sb.toString();
}
```