Avatar ·

Java中的toString():String拼接还是StringBuilder——哪个更快更好?

大家好!我是一名初学Java的开发者,关于在类中实现`toString()`方法有一个疑问。 假设我有一个简单的类,包含几个字段: ```java public class User { private String name; private int age; private String email; // 构造函数、getter、setter... @Override public String toString() { return "User{" + "name='" + name + '\'' + ", age=" + age + ", email='" + email + '\'' + '}'; } } ``` 这段代码可以工作,但我读到通过`+`进行字符串拼接可能效率不高,因为Java中的字符串是不可变的,每次拼接都会创建一个新的String对象。很多人建议使用`StringBuilder`: ```java @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("User{"); sb.append("name='").append(name).append('\''); sb.append(", age="); ```