"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा में पैटर्न मिलान को समझना

जावा में पैटर्न मिलान को समझना

2024-07-31 को प्रकाशित
ब्राउज़ करें:258

Understanding Pattern Matching in Java

पैटर्न मिलान जावा में शुरू की गई एक शक्तिशाली सुविधा है जो आपको अपने कोड की पठनीयता को सरल बनाने और बढ़ाने की अनुमति देती है। प्रारंभ में जाँच के उदाहरण के लिए जावा 14 में पेश किया गया और बाद के संस्करणों में विस्तारित किया गया, पैटर्न मिलान बॉयलरप्लेट को कम करके अधिक अभिव्यंजक और संक्षिप्त कोड को सक्षम बनाता है।

पैटर्न मिलान क्या है?

पैटर्न मिलान आपको वस्तुओं से घटकों को निकालने और कुछ शर्तों को संक्षिप्त तरीके से लागू करने की अनुमति देता है। यह एक ऐसी सुविधा है जो एक पैटर्न के विरुद्ध एक मान की जांच करती है और, यदि मिलान सफल होता है, तो पैटर्न से वेरिएबल्स को बांधता है।

पैटर्न मिलान के लाभ

  1. संक्षिप्त कोड: बॉयलरप्लेट कोड को कम करता है, जिससे आपके प्रोग्राम छोटे और पढ़ने में आसान हो जाते हैं।
  2. बेहतर पठनीयता: संरचना को और अधिक स्पष्ट बनाकर आपके कोड की स्पष्टता को बढ़ाता है।
  3. प्रकार सुरक्षा: यह सुनिश्चित करता है कि वेरिएबल सही ढंग से टाइप किए गए हैं, जिससे रनटाइम त्रुटियों की संभावना कम हो जाती है।

उदाहरण के साथ पैटर्न मिलान

पैटर्न मिलान का सबसे आम उपयोग इंस्टेंसऑफ़ ऑपरेटर के साथ होता है। यहाँ एक उदाहरण है:

public class PatternMatchingExample {
    public static void main(String[] args) {
        Object obj = "Hello, World!";

        if (obj instanceof String s) {
            System.out.println("The string is: "   s);
        } else {
            System.out.println("Not a string");
        }
    }
}

इस उदाहरण में, इंस्टेंसऑफ़ ऑपरेटर न केवल यह जांचता है कि क्या ओबीजे एक स्ट्रिंग है, बल्कि इसे एक स्ट्रिंग में भी डालता है और इसे एक ही चरण में वेरिएबल एस से बांधता है।

स्विच एक्सप्रेशन के साथ पैटर्न मिलान

पैटर्न मिलान का उपयोग स्विच एक्सप्रेशन के साथ भी किया जाता है, जिससे उनकी शक्ति और लचीलेपन में वृद्धि होती है। यहां सीलबंद कक्षाओं का उपयोग करने वाला एक उदाहरण दिया गया है:

public sealed class Shape permits Circle, Rectangle, Square {}

public final class Circle extends Shape {
    private final double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    public double radius() { return radius; }
}

public final class Rectangle extends Shape {
    private final double width, height;

    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    public double width() { return width; }
    public double height() { return height; }
}

public final class Square extends Shape {
    private final double side;

    public Square(double side) {
        this.side = side;
    }

    public double side() { return side; }
}

public class PatternMatchingWithSwitch {
    public static void main(String[] args) {
        Shape shape = new Circle(5);

        String result = switch (shape) {
            case Circle c -> "Circle with radius "   c.radius();
            case Rectangle r -> "Rectangle with width "   r.width()   " and height "   r.height();
            case Square s -> "Square with side "   s.side();
        };

        System.out.println(result);
    }
}

इस उदाहरण में, स्विच एक्सप्रेशन शेप ऑब्जेक्ट को नष्ट करने और प्रासंगिक डेटा निकालने के लिए पैटर्न मिलान का उपयोग करता है।

निष्कर्ष

जावा में पैटर्न मिलान आपके कोड में अभिव्यक्ति और सरलता का एक नया स्तर लाता है। बॉयलरप्लेट को कम करके और पठनीयता को बढ़ाकर, यह आपको स्वच्छ और अधिक रखरखाव योग्य प्रोग्राम लिखने की अनुमति देता है। चाहे आप जटिल डेटा संरचनाओं के साथ काम कर रहे हों या बस अपने प्रकार की जांच को सुव्यवस्थित करने का प्रयास कर रहे हों, पैटर्न मिलान आपके जावा टूलकिट में एक मूल्यवान उपकरण है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/adaumircosta/understandard-pattern-matching-in-java-3f0k?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3