Java Academy · पाठ

Record पैटर्न

पैटर्न में records की संरचना खोलें

पाठ 2, कुल 4 में से13 चरण

Record पैटर्न, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

रिकॉर्ड पैटर्न

रिकॉर्ड पैटर्न किसी रिकॉर्ड का मिलान करता है और उसे संरचना-विघटित करके उसके घटकों को एक ही चरण में चरों से बाँधता है। अब हर एक्सेसर को हाथ से बुलाने की आवश्यकता नहीं है।

संरचना-विघटित करने के लिए एक रिकॉर्ड

एक सरल रिकॉर्ड से शुरुआत कीजिए। इसके घटक वे मान हैं जिन्हें कोई पैटर्न निकाल सकता है।

public class Main {
    record Point(int x, int y) {}

    public static void main(String[] args) {
        Point p = new Point(3, 4);
        System.out.println(p.x() + ", " + p.y());
    }
}

instanceof के साथ संरचना-विघटन

instanceof Point p और फिर p.x() लिखने के बजाय, घटकों x और y को सीधे बाँधने के लिए instanceof Point(int x, int y) लिखिए।

public class Main {
    record Point(int x, int y) {}

    public static void main(String[] args) {
        Object obj = new Point(3, 4);
        if (obj instanceof Point(int x, int y)) {
            System.out.println("Sum: " + (x + y));
        }
    }
}

घटक स्थानीय चर बन जाते हैं

पैटर्न के अंदर के नाम (x, y) नए स्थानीय चर होते हैं, जिनमें रिकॉर्ड के घटकों के मान रखे जाते हैं। नाम आप चुनते हैं; उनका रिकॉर्ड के नामों से मेल खाना आवश्यक नहीं है।

public class Main {
    record Point(int x, int y) {}

    public static void main(String[] args) {
        Object obj = new Point(10, 20);
        if (obj instanceof Point(int a, int b)) {
            System.out.println("a=" + a + " b=" + b);
        }
    }
}

पैटर्न में प्रकार-अनुमान का उपयोग

किसी घटक के लिए आप var लिख सकते हैं, जिससे कंपाइलर उसका प्रकार स्वयं अनुमानित कर लेता है। लंबे प्रकारों के मामले में यह सुविधाजनक होता है।

public class Main {
    record Pair(String key, Integer value) {}

    public static void main(String[] args) {
        Object obj = new Pair("age", 30);
        if (obj instanceof Pair(var key, var value)) {
            System.out.println(key + " = " + value);
        }
    }
}

स्विच में पैटर्न

रिकॉर्ड पैटर्न स्विच में भी काम करते हैं, जिससे केस शाखाएँ डेटा की आकृतियों जैसी पढ़ी जाती हैं।

public class Main {
    record Point(int x, int y) {}

    static String classify(Object obj) {
        return switch (obj) {
            case Point(int x, int y) when x == y -> "on diagonal";
            case Point(int x, int y) -> "at " + x + "," + y;
            default -> "not a point";
        };
    }

    public static void main(String[] args) {
        System.out.println(classify(new Point(5, 5)));
        System.out.println(classify(new Point(1, 2)));
    }
}

प्रकार-अनुमान का मिलान

पैटर्न में दिए गए घटक-प्रकार रिकॉर्ड के घोषित प्रकारों के अनुकूल होने चाहिए। सटीक प्रकार या var का उपयोग करना सुरक्षित विकल्प है।

गार्ड के साथ संयोजन

रिकॉर्ड पैटर्न के बाद when गार्ड जोड़कर केवल तभी मिलान कीजिए जब संरचना-विघटित मान किसी शर्त को पूरा करें।

public class Main {
    record Temperature(double celsius) {}

    static String alert(Object o) {
        if (o instanceof Temperature(double c) && c > 38.0) {
            return "fever: " + c;
        }
        return "normal";
    }

    public static void main(String[] args) {
        System.out.println(alert(new Temperature(39.5)));
        System.out.println(alert(new Temperature(36.6)));
    }
}

अधिक साफ़ डेटा अभिगम

रिकॉर्ड पैटर्न तब विशेष रूप से उपयोगी होते हैं जब आपको केवल कुछ फ़ील्ड की आवश्यकता हो। वे एक्सेसर कॉल की पूरी श्रृंखला हटा देते हैं और मिलान वाले स्थान पर प्रासंगिक डेटा को स्पष्ट कर देते हैं।

नल और रिकॉर्ड पैटर्न

सभी instanceof पैटर्न की तरह, रिकॉर्ड पैटर्न भी नल के लिए असत्य होता है। संरचना-विघटन तभी होता है जब यह सुनिश्चित हो जाए कि मान रिकॉर्ड का गैर-नल उदाहरण है।

एक व्यावहारिक उदाहरण

घटकों से सीधे कोई मान निकालने के लिए संरचना-विघटन कीजिए।

public class Main {
    record Rectangle(int width, int height) {}

    static int area(Object o) {
        if (o instanceof Rectangle(int w, int h)) {
            return w * h;
        }
        return 0;
    }

    public static void main(String[] args) {
        System.out.println(area(new Rectangle(4, 5)));
        System.out.println(area("not a rect"));
    }
}

त्वरित जाँच

रिकॉर्ड पैटर्न की अपनी समझ जाँचिए।

पुनरावृत्ति

आपने रिकॉर्ड पैटर्न सीखे।

  • वे रिकॉर्ड प्रकार की जाँच और उसके घटकों का संरचना-विघटन एक साथ करते हैं।
  • घटक नाम आपके चुने हुए नए स्थानीय चर होते हैं; var प्रकारों का अनुमान लगाता है।
  • वे instanceof और switch दोनों में काम करते हैं।
  • सभी पैटर्न की तरह, वे नल के लिए असत्य होते हैं।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Java सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
104
पाठ
374

अक्सर पूछे जाने वाले प्रश्न

क्या “Record पैटर्न” पाठ निःशुल्क है?

हाँ—“Record पैटर्न” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Record पैटर्न” में मैं क्या सीखूँगा?

पैटर्न में records की संरचना खोलें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“Record पैटर्न” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. instanceof के लिए पैटर्न मिलान
  2. Record पैटर्न
  3. नेस्टेड Record पैटर्न
  4. switch में पैटर्न
← Java Academy पर वापस जाएँ