Метод toString()

Часто необходимо узнать содержимое того или иного объекта. Для этого в классе Object языка Java определен специальный метод toString(), возвращающий символьную строку описывающую объект. При создании нового класса принято переопределение  toString() таким образом, чтобы возвращающая строка содержала в себе имя класса, имена и значения всех переменных.

Следующий пример демонстрирует это:

public class Person {
    private String fullName;
    private int age;
    private boolean retired;

    ...
    @Override
    public String toString() {
        return "Person{"
                + "fullName='" + fullName + '\''
                + ", age=" + age
                + ", retired=" + retired
                + '}';
    }
}

Для вызова метода toString() необходимо просто передать нужный объект в System.out.println:

public class PersonDemo4 {
    public static void main(String[] args) {
        Person person = new Person("Петров Иван Иванович", 56, false);
        System.out.println(person);
    }
}

Результат выполнения программы будет такой:

Person{fullName='Петров Иван Иванович', age=56, retired=false}

Чисто теоретически можно явно вызывать метод toString() - System.out.println(person.toString()), но так не принято.

Если у класса Person не переопределен метод toString(), то при запуске класса PersonDemo4 вызовется метод toString(), определенный в классе Object. И на консоль выведется нечто такое:

oop.Person@5e2a3193
Read also:
Trustpilot
Trustpilot
Comments
hmma0723
Jun 15, 2017
I think the answer should be 'Both beans will use the same persistence context within the same transaction."