Object.toString()
Возвращает текстовое представление объекта; вызывается при выводе и сложении со строкой.
Доступно с: Java 1.0
Синтаксис
public String toString()Возвращаемое значение
StringСтрока. По умолчанию — имя класса, @ и хеш-код в шестнадцатеричном виде.
Примеры
Свой toString() делает вывод понятным:
class User {
String name;
int age;
User(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "User{name=" + name + ", age=" + age + "}";
}
}
void main() {
var user = new User("Anna", 30);
IO.println(user);
IO.println("Created: " + user);
IO.println(List.of(user));
}Результат:
User{name=Anna, age=30}
Created: User{name=Anna, age=30}
[User{name=Anna, age=30}]Примечания
Без переопределения выводится что-то вроде User@5ca881b5. IO.println(), конкатенация со строкой и toString() коллекций вызывают метод сами. Записи, коллекции, StringBuilder, даты уже имеют понятный toString(), а массивы — нет: для них Arrays.toString().
См. также
- String.valueOf() — Превращает значение любого типа в строку.
- record — Объявляет запись — неизменяемый класс для хранения данных с готовыми equals(), hashCode() и toString().
- Arrays.toString() — Возвращает содержимое массива в виде строки [1, 2, 3].
Вопросы и ответы по теме
В учебнике
- Методы класса Object — Методы toString, equals и hashCode в Java: как их переопределять и почему equals и hashCode всегда меняют вместе.