Sobes.tech
Junior

Co robi metoda toString() w Java?

sobes.tech AI

Odpowiedź od AI

Metoda toString() w Javie służy do uzyskania tekstowego przedstawienia obiektu. Domyślnie zwraca ona ciąg znaków zawierający nazwę klasy obiektu, znak @ oraz szesnastkowe przedstawienie kodu hash obiektu (np. java.lang.Object@1a2b3c4d).

Często nadpisuje się tę metodę w własnych klasach, aby zapewnić bardziej informatywne przedstawienie obiektu, na przykład wyświetlając wartości jego pól. Jest to przydatne do debugowania, logowania lub po prostu do wyświetlania obiektu w czytelnej formie.

Przykłady użycia:

// Standardowe zachowanie toString()
Object obj = new Object();
System.out.println(obj.toString()); // Wyjście: java.lang.Object@...

// Nadpisanie toString() w własnej klasie
class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{name='" + name + "', age=" + age + "}";
    }
}

Person person = new Person("Alice", 30);
System.out.println(person.toString()); // Wyjście: Person{name='Alice', age=30}
System.out.println(person); // To samo, ponieważ System.out.println() wywołuje toString()