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

जावा और वन गो में महारत हासिल करना: कार्यात्मक स्वर्ग की एक मजेदार सवारी

2024-11-08 को प्रकाशित
ब्राउज़ करें:819

जावा उत्साही लोगों, आपका स्वागत है! कमर कस लें, क्योंकि हम जावा 8 की दुनिया में गहराई से उतरने वाले हैं, वह संस्करण जिसने जावा को अधिक कार्यात्मक, अधिक सुव्यवस्थित और (मैं इसे कहने की हिम्मत करता हूं?) और अधिक बना दिया है। मज़ा। जावा 8 को उस पुराने फ्लिप फोन से नवीनतम स्मार्टफोन में आपके लंबे समय से प्रतीक्षित अपग्रेड के रूप में सोचें - उन सुविधाओं से भरा हुआ जिनके बारे में आप जानते भी नहीं थे कि आपको उनकी आवश्यकता है, लेकिन अब आप उनके बिना नहीं रह सकते।

यह मार्गदर्शिका जावा 8 में महारत हासिल करने के लिए आपका अंतिम हथियार है, जो समझने में आसान स्पष्टीकरणों, वास्तविक जीवन में उपयोग के मामलों से भरपूर है, और चीजों को मसालेदार बनाए रखने के लिए हास्य का पुट है। . अंत तक, आप जावा 8 प्रो होंगे, और इन नए कौशलों को अपनी परियोजनाओं में लागू करने के लिए तैयार होंगे। आइए गोता लगाएँ!


1. लैम्ब्डा एक्सप्रेशंस: जावा गोज़ एनोनिमस

कल्पना करें कि आप बुफ़े में हैं और शेफ आपको बिना नाम बताए अपनी डिश बनाने की सुविधा देता है—जावा में लैम्ब्डा एक्सप्रेशंस यही अनुमति देता है! वे नामहीन तरीकों की तरह हैं, उन कार्यों के लिए बिल्कुल उपयुक्त हैं जहां एक पूर्ण विधि बनाना अतिश्योक्ति जैसा लगेगा।

लैम्ब्डा एक्सप्रेशंस का उपयोग क्यों करें?

  • संक्षिप्तता: बॉयलरप्लेट कोड को कम करता है। गुमनाम आंतरिक कक्षाओं को अलविदा कहें।
  • बेहतर पठनीयता: अंतहीन विधि परिभाषाओं को स्क्रॉल करने की कोई आवश्यकता नहीं है।
  • कार्यात्मक प्रोग्रामिंग: जावा 8 कार्यात्मक प्रोग्रामिंग की ओर झुकता है, और लैम्ब्डा आपका प्रवेश द्वार है।

लैम्ब्डा एक्सप्रेशंस का उपयोग कब करें?

  • जब आप सरलता चाहते हैं: पूर्ण विधि निकाय बनाने के बजाय, लैम्ब्डा चीजों को एक-पंक्ति में संक्षिप्त कर सकता है।
  • कार्यात्मक इंटरफेस: जब भी आप केवल एक अमूर्त विधि (जैसे रननेबल, तुलनित्र) के साथ इंटरफेस का सामना करते हैं, तो लैम्ब्डा आपके सबसे अच्छे दोस्त होते हैं।

लैम्ब्डा एक्सप्रेशंस का उपयोग कैसे करें?

java
Copy code
// Before Java 8
new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("Old Java is not cool");
    }
}).start();

// After Java 8
new Thread(() -> System.out.println("Java 8 is awesome!")).start();

वास्तविक जीवन में उपयोग का मामला

इसे चित्रित करें: आप जावा-आधारित माइक्रोसर्विस आर्किटेक्चर में एक कार्य शेड्यूलर बना रहे हैं, और आपको छोटे कार्यों को समवर्ती रूप से निष्पादित करने की आवश्यकता है। प्रत्येक कार्य के लिए पूर्ण कार्यान्वयन बनाने के बजाय, आप उस क्रिया के लिए लैम्ब्डा पास कर सकते हैं जिसे आप प्रत्येक थ्रेड में करना चाहते हैं। साफ़-सुथरा, सही?


2. कार्यात्मक इंटरफेस: कम अधिक है

फंक्शनल इंटरफ़ेस सिर्फ एक इंटरफ़ेस है जिसमें एक अमूर्त विधि है। आप इसे एक बार परोसने वाली कॉफ़ी मशीन के रूप में सोच सकते हैं—इसका एक ही काम है, लेकिन यह वास्तव में अच्छा काम करती है।

कार्यात्मक इंटरफ़ेस का उपयोग क्यों करें?

  • क्लीनर कोड: अधिक सुव्यवस्थित कोड के लिए उन्हें लैम्ब्डा के साथ संयोजित करें।
  • मानकीकरण: कार्यात्मक इंटरफ़ेस प्रेडिकेट, फ़ंक्शन, उपभोक्ता इत्यादि, कार्यात्मक शैली में कोड को कैसे संरचित करने के लिए एक खाका प्रदान करते हैं।

कार्यात्मक इंटरफ़ेस का उपयोग कब करें?

  • जब आप लैम्ब्डा के साथ काम करना चाहते हैं: यदि आपके पास लैम्ब्डा है, तो आपको इसका उपयोग करने के लिए एक कार्यात्मक इंटरफ़ेस की आवश्यकता है।

कार्यात्मक इंटरफ़ेस का उपयोग कैसे करें?

java
Copy code
// Example using Predicate Functional Interface
Predicate isEven = number -> number % 2 == 0;

System.out.println(isEven.test(4));  // Output: true

वास्तविक जीवन में उपयोग का मामला

मान लें कि आप एक ऐप के लिए उपयोगकर्ता-फ़िल्टरिंग सिस्टम बना रहे हैं। आपको विभिन्न मानदंडों (आयु, स्थान, गतिविधि स्थिति) के आधार पर उपयोगकर्ताओं को फ़िल्टर करने की आवश्यकता है। हर जगह कस्टम तर्क लिखने के बजाय, isAdult, isActive आदि जैसे लचीले फ़िल्टर बनाने के लिए Predicate का उपयोग करें, और उन्हें अपने फ़िल्टरिंग तरीकों में प्लग करें। स्केलेबिलिटी को सरल बनाया गया!


3. स्ट्रीम एपीआई: जावा की प्रवाह स्थिति

स्ट्रीम्स एपीआई एक कारखाने में असेंबली लाइन की तरह है। यह डेटा को एक पाइपलाइन में संसाधित करता है, जहां आप चरणों (संचालन) के अनुक्रम को परिभाषित करते हैं जो आपके डेटा को स्वच्छ और कुशल तरीके से परिवर्तित करते हैं।

स्ट्रीम का उपयोग क्यों करें?

  • डेटा प्रोसेसिंग सरलीकृत: संग्रह को बदलने के लिए बिल्कुल सही।
  • आलसी मूल्यांकन: संचालन केवल आवश्यक होने पर ही निष्पादित किया जाता है, जिसका अर्थ है बेहतर प्रदर्शन।
  • समानांतरता: आप जटिल कोड के बिना मल्टी-कोर प्रोसेसर का लाभ उठाने के लिए संचालन को समानांतर कर सकते हैं।

स्ट्रीम का उपयोग कब करें?

  • जब आपको संग्रह पर बड़े पैमाने पर संचालन करने की आवश्यकता होती है: फ़िल्टर करना, मैप करना, कम करना—आप इसे नाम देते हैं।
  • जब प्रदर्शन मायने रखता है: भारी डेटा प्रोसेसिंग कार्यों के लिए समानांतर स्ट्रीम का उपयोग करें।

स्ट्रीम का उपयोग कैसे करें?

java
Copy code
List names = Arrays.asList("Alice", "Bob", "Charlie", "David");

// Using Stream to filter and collect names
List filteredNames = names.stream()
                                  .filter(name -> name.startsWith("A"))
                                  .collect(Collectors.toList());

System.out.println(filteredNames);  // Output: [Alice]

वास्तविक जीवन में उपयोग का मामला

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


4. वैकल्पिक: नल के लिए एक सुरक्षा जाल

क्या आप अपना दिन बर्बाद करने वाले NullPointerException आश्चर्यों से थक गए हैं? मिलें वैकल्पिक—सुरक्षित शून्य हैंडलिंग के लिए जावा 8 का उत्तर। यह एक ट्रैपेज़ कलाकार के नीचे एक सुरक्षा जाल की तरह है, जो संभावित शून्य को पकड़ता है और आपको उन्हें शालीनता से संभालने देता है।

वैकल्पिक का उपयोग क्यों करें?

  • NullPointerExceptions से बचें: वैकल्पिक आपको शून्य मानों के बारे में पहले से सोचने के लिए प्रोत्साहित करता है।
  • कोड पठनीयता में सुधार करता है: हर जगह (कुछ!) की जांच करने के बजाय, वैकल्पिक आपके इरादे स्पष्ट करता है।

वैकल्पिक का उपयोग कब करें?

  • जब अशक्तता आपके व्यावसायिक तर्क का हिस्सा है: वैकल्पिक तब सही होता है जब कोई मान मौजूद हो भी सकता है और नहीं भी, जैसे कि जब आप कॉन्फ़िगरेशन मान पुनर्प्राप्त कर रहे हों या किसी उपयोगकर्ता की खोज कर रहे हों।

वैकल्पिक का उपयोग कैसे करें?

java
Copy code
Optional optionalName = Optional.ofNullable(getName());

optionalName.ifPresent(name -> System.out.println("Hello, "   name));

String defaultName = optionalName.orElse("Guest");
System.out.println("Welcome, "   defaultName);

वास्तविक जीवन में उपयोग का मामला

कल्पना करें कि आप एक उपयोगकर्ता प्रोफ़ाइल सिस्टम विकसित कर रहे हैं। कभी-कभी उपयोगकर्ता अपना बायो भरते हैं, कभी-कभी नहीं भरते हैं। "क्या यह शून्य है?" खेलने के बजाय अनुमान लगाने का खेल, खाली या गायब प्रोफ़ाइल फ़ील्ड को खूबसूरती से संभालने के लिए वैकल्पिक का उपयोग करें।


5. इंटरफ़ेस में डिफ़ॉल्ट और स्थिर तरीके: विकास, क्रांति नहीं

जावा 8 से पहले, इंटरफ़ेस पत्थर पर लिखे अनुबंधों की तरह थे - स्थापित होने के बाद आप उन्हें बदल नहीं सकते थे। लेकिन अब, इंटरफ़ेस अधिक लचीले हैं, default और static तरीकों के लिए धन्यवाद।

डिफ़ॉल्ट और स्थिर तरीकों का उपयोग क्यों करें?

  • बैकवर्ड संगतता: कार्यान्वयन को तोड़े बिना मौजूदा इंटरफेस में नई कार्यक्षमता जोड़ें।
  • सुविधा: स्थिर विधियां उपयोगिता विधियों को सीधे इंटरफ़ेस के अंदर अनुमति देती हैं।

डिफ़ॉल्ट और स्टेटिक तरीकों का उपयोग कब करें?

  • जब आप सभी कार्यान्वयनों को बदलने के लिए मजबूर किए बिना एक इंटरफ़ेस का विस्तार करना चाहते हैं
  • जब आप इंटरफ़ेस के अंदर सहायक तरीके बनाना चाहते हैं

डिफ़ॉल्ट और स्टेटिक तरीकों का उपयोग कैसे करें?

java
Copy code
interface MyInterface {
    default void printMessage() {
        System.out.println("Default method in the interface!");
    }

    static void staticMethod() {
        System.out.println("Static method in the interface!");
    }
}

class MyClass implements MyInterface {}

MyClass obj = new MyClass();
obj.printMessage();  // Output: Default method in the interface!
MyInterface.staticMethod();  // Output: Static method in the interface!

वास्तविक जीवन में उपयोग का मामला

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


Mastering Java n One Go: A Fun Ride to Functional Paradise

अंतिम अधिनियम: कार्रवाई के लिए आपका आह्वान!

अब जब आपने जावा 8 की प्रमुख विशेषताओं का पता लगा लिया है, तो अब समय आ गया है कि आपने जो सीखा है उसे लागू करें। चाहे आप माइक्रोसर्विसेज, उपयोगकर्ता प्रबंधन सिस्टम, या इनके बीच कुछ भी बना रहे हों, जावा 8 में आपके कोड को साफ, तेज और अधिक रखरखाव योग्य बनाने के लिए उपकरण हैं।

तो, आपका अगला कदम क्या है?

एक नया प्रोजेक्ट शुरू करें, किसी पुराने को दोबारा तैयार करें, या अपने वर्तमान कोडबेस में इन सुविधाओं के साथ प्रयोग करें। अपने ज्ञान को यूँ ही बेकार न रहने दें—इसे व्यवहार में लाएँ!


जावा 8 सिर्फ एक अपग्रेड नहीं है - यह एक

मानसिकता में बदलाव है। यदि आप इन सुविधाओं को अपनाते हैं, तो आपके प्रोजेक्ट न केवल बेहतर ढंग से चलेंगे, बल्कि आपके कोड को बनाए रखना आसान, अधिक स्केलेबल और बिल्कुल सुंदर होगा। कार्यात्मक प्रोग्रामिंग की दुनिया बुला रही है—वहां जाएं और जावा 8 को अपना नया सबसे अच्छा दोस्त बनाएं।

हैप्पी कोडिंग!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/wittedtech-by-harshit/mastering-java-8-in-one-go-a-fun-ride-to-functional-paradise-2g96?1यदि कोई है उल्लंघन, हटाने के लिए कृपया [email protected] से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3