Я подумал, что могу взвесить более современную перспективу, учитывая, что этому вопросу уже почти 10 лет.
toString
, очевидно, полезен для отладки - вам не нужно смотреть дальше, чем все остальные ответы здесь, которые подтверждают это, но отладочная информация не является бизнес-логикой .
Наличие toString
метода в каждом отдельном классе является визуальным беспорядком, который скрывает полезное поведение класса. Нам также нужно помнить, чтобы поддерживать его - либо вручную, либо заново создавая метод из нашей IDE - каждый раз, когда мы меняем поля класса.
Так, что мы можем сделать, чтобы решить эти проблемы, не удаляя метод полностью? Ответ: автоматически сгенерирует его . Аннотация @ToString
проекта Lombok может автоматически генерировать для вас метод toString
во время компиляции, который включает любую комбинацию полей, которую вы выберете.
Базовый пример использования:
@ToString
public class Foo {
private int i = 0;
}
Что станет эквивалентно следующему во время компиляции:
public class Foo {
private int i = 0;
public String toString() {
return "Foo(i=" + this.i + ")";
}
}