# toString() — कोर जावा

Source: https://www.geekswithgeeks.com/hi/core-java/java-tostring

> toString() ओवरराइड करें ताकि डिफ़ॉल्ट ClassName@hashcode की जगह पठनीय डिबग आउटपुट व लॉगिंग मिले।

## इसे क्यों ओवरराइड करें

डिफ़ॉल्ट `toString()` `ClassName@hexHashCode` छापता है — डिबगिंग के लिए बेकार। `System.out.println(obj)`, स्ट्रिंग जोड़ना, और अधिकतर लॉगिंग फ़्रेमवर्क अपने-आप `toString()` बुलाते हैं, इसलिए एक अच्छा toString() हर जगह काम आता है।

## एक उपयोगी ओवरराइड

इसे संक्षिप्त रखें और ऑब्जेक्ट को पहचानने वाली फ़ील्ड शामिल करें। आधुनिक `record` टाइप (Java 16+) `toString()`, `equals()` व `hashCode()` अपने-आप बनाते हैं।

```java
@Override public String toString() {
    return "Point[x=" + x + ", y=" + y + "]";
}

// Or skip all the boilerplate with a record:
record Point(int x, int y) {}
System.out.println(new Point(1, 2));  // Point[x=1, y=2]
```
