Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

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 всегда меняют вместе.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.