Java Academy · पाठ

Generic Methods/Classes

Type parameters वाली generic classes परिभाषित कीजिए और return type से पहले <T> के साथ generic methods लिखिए। जानिए कि type inference कहाँ सहायक होता है

पाठ 3, कुल 3 में से8 चरण

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

अवलोकन

जेनेरिक वर्ग कई प्रकारों के लिए एक ही डिज़ाइन का पुनः उपयोग करते हैं, और जेनेरिक विधियाँ गैर-जेनेरिक वर्गों के भीतर भी प्रकार पैरामीटर के साथ काम करती हैं। हम एक छोटा Pair<T,U>, एक swap विधि और एक स्थिर फ़ैक्टरी बनाएँगे।

जेनेरिक वर्ग क्यों?

वर्ग को जेनेरिक क्यों बनाते हैं?

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

कोड: Pair<T,U>

Pair<T,U> एक ही वर्ग को दो अलग-अलग प्रकारों के साथ उपयोग करता है। कास्ट की आवश्यकता नहीं होती और एपीआई स्पष्ट रहता है।

public class Main {
  // Simple generic data holder with two type parameters
  static class Pair<T, U> {
    private final T first;
    private final U second;
    Pair(T first, U second) { this.first = first; this.second = second; }
    T first() { return first; }
    U second() { return second; }
    public String toString() { return "Pair(" + first + ", " + second + ")"; }
  }

  public static void main(String[] args) {
    Pair<String, Integer> p = new Pair<>("age", 21);
    System.out.println(p);
    System.out.println(p.first() + " -> " + p.second());
  }
}

जेनेरिक विधियाँ: हस्ताक्षर

जेनेरिक विधियाँ वर्ग के जेनेरिक होने से स्वतंत्र रूप से काम करती हैं। हस्ताक्षर: <T> returnType... उदाहरण: <T> T firstOrDefault(T[] arr, T def)।

कोड: जेनेरिक अदला-बदली

<T> को विधि-स्तर पर परिभाषित किया गया है; इसलिए यह अलग-अलग सरणियों के साथ काम करती है। आह्वान करते समय हमने प्रकार निर्दिष्ट नहीं किया; कंपाइलर ने अनुमान लगा लिया।

public class Main {
  // Generic utility method: swap two indices of an array of any reference type
  static <T> void swap(T[] arr, int i, int j) {
    T tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp;
  }

  public static void main(String[] args) {
    String[] names = { "Ada", "Bob", "Cyd" };
    swap(names, 0, 2); // works with String[]
    for (int k = 0; k < names.length; k = k + 1) {
      System.out.print(names[k] + (k < names.length - 1 ? " " : "\n"));
    }
  }
}

कोड: स्थिर जेनेरिक फ़ैक्टरी

स्थिर जेनेरिक फ़ैक्टरी: निर्माण(T v) के आह्वान में प्रकार का अनुमान लगाया जाता है। इसका उपयोग साफ़ और पढ़ने में आसान है।

public class Main {
  static class Box<T> {
    private final T value;
    private Box(T v) { this.value = v; }
    public T get() { return value; }
    // Static generic factory method inside a generic class
    public static <T> Box<T> of(T v) { return new Box<T>(v); }
  }

  public static void main(String[] args) {
    // Type inferred by diamond and method generic parameter
    Box<Integer> bi = Box.of(42);
    Box<String> bs = Box.of("hi");
    System.out.println(bi.get() + 1);
    System.out.println(bs.get().toUpperCase());
  }
}

जेनेरिक विधियों की जाँच

त्वरित जाँच: जेनेरिक विधि को सही तरीके से कैसे घोषित करते हैं?

पुनरावलोकन

पुनरावलोकन: जेनेरिक वर्ग (Pair<T,U>) दोहराव कम करते हैं; जेनेरिक विधियाँ (<T> हस्ताक्षर) वर्ग से स्वतंत्र रूप से काम करती हैं। प्रकार का अनुमान आह्वानों को सरल बनाता है।

शुरुआत निःशुल्क

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

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

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

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

क्या “Generic Methods/Classes” पाठ निःशुल्क है?

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

“Generic Methods/Classes” में मैं क्या सीखूँगा?

Type parameters वाली generic classes परिभाषित कीजिए और return type से पहले <T> के साथ generic methods लिखिए। जानिए कि type inference कहाँ सहायक होता है आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

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

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

“Generic Methods/Classes” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. व्यवहार में Interfaces
  2. Generics की बुनियादी बातें (T, inference)
  3. Generic Methods/Classes
← Java Academy पर वापस जाएँ