toString() em Java: Concatenação de String ou StringBuilder — o que é mais rápido e melhor?
Olá a todos! Sou um desenvolvedor Java iniciante e tenho uma dúvida sobre a implementação do método `toString()` nas minhas classes.
Digamos que eu tenha uma classe simples com alguns campos:
```java
public class User {
private String name;
private int age;
private String email;
// construtor, getters, setters...
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", email='" + email + '\'' +
'}';
}
}
```
Esse código funciona, mas li que a concatenação de strings com `+` pode ser ineficiente, porque strings em Java são imutáveis e, a cada adição, um novo objeto String é criado. Muitos recomendam usar `StringBuilder`:
```java
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("User{");
sb.append("name='").append(name).append('\'');
sb.append(", age=");
```
}