toString() in Java: String concatenation or StringBuilder — which is faster and better?
Hello everyone! I'm a beginner Java developer, and I have a question about implementing the `toString()` method in my classes.
Let's say I have a simple class with several fields:
```java
public class User {
private String name;
private int age;
private String email;
// constructor, getters, setters...
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", email='" + email + '\'' +
'}';
}
}
```
This code works, but I've read that string concatenation using `+` can be inefficient because strings in Java are immutable, and each concatenation creates a new String object. Many advise using `StringBuilder`:
```java
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("User{");
sb.append("name='").append(name).append('\'');
sb.append(", age=");
```