Generics in Java in Hindi – जावा में जेनेरिक क्या है?

हेल्लो दोस्तों! आज हम इस पोस्ट में Generics in Java in Hindi (जावा में generics क्या है?) के बारें में पढेंगे और इसके advantages और examples को भी देखेंगे. तो चलिए शुरू करते हैं:-

Generics in Java in Hindi

Generics को Java 5 में type-safe objects से निपटने के लिए introduce (प्रस्तावित) किया गया था. यह compile-time में errors या bugs को find करता है जिससे कोड stable रहता है.

Java में, Generics के द्वारा हम एक ऐसी class, method, और interface को create कर सकते हैं जिसका प्रयोग objects के अलग-अलग types के साथ किया जा सकता है.

Generic (जेनेरिक) compile-time type checking प्रदान करता है जिसके द्वारा प्रोग्रामर bugs या invalid-types को compile time में detect कर सकता है. जेनेरिक हमारे code को दुबारा से use करने में मदद करता है.

Advantage of Generics in Hindi

इसके लाभ निम्नलिखित हैं:-

1). Type-safety – हम generics में एक प्रकार के ही objects को स्टोर कर सकते हैं. यह दूसरे objects को स्टोर करने की आज्ञा नहीं देता है.

बिना generics के हम किसी भी type के objects को स्टोर कर सकते हैं.

example –

List<Integer> list = new ArrayList<Integer>();    
list.add(10);  
list.add("10");// compile-time error  

2). Compile-time checking – यह compile-time में erros को check कर लेता है. जिससे run-time में error नहीं आती है. Errors को compile-time में handle करना run-time की तुलना में जयादा बेहतर समझा जाता है.

उदाहरण के लिए – माना कि आप एक Array List में books के नाम store करना चाहते है. परन्तु आपने गलती से string की बजाय integer value को add कर दिया. कम्पाइलर इसे allow तो कर देगा परन्तु परेशानी तब आएगी जब आप इसे retrieve करना चाहेंगे. तो कम्पाइलर run-time में error throw करेगा.

generic का प्रयोग करके, कम्पाइलर run time की बजाय compile-time में ही errors को show कर देगा. इससे programmer के समय की बचत होगी क्योंकि run time में errors को find करना कठिन होता है.

List<String> list = new ArrayList<String>();    
list.add("the first book");    
list.add(32);//Compile Time Error    

3). इसमें type casting जरुरी नहीं होती – इसमें हमें object को type cast करने की जरूरत नहीं पड़ती.
generics के आने से पहले हमें type casting की आवश्यकता पड़ती थी.

example

List<String> list = new ArrayList<String>();    
list.add("hello");    
String s = list.get(0);    

4). Code Reusability – जेनेरिक की मदद से हम ऐसे code को लिख सकते है जो कि अलग-अलग types के objects के साथ work कर सकता है.

example

public <T> void genericsMethod(T data) {...}

5). Collection के साथ प्रयोग – जेनेरिक का प्रयोग हम collections के साथ भी कर सकते हैं. collection framework जो है वह generics के concepts का प्रयोग करता है.

example

// creating a string type ArrayList
ArrayList<String> list1 = new ArrayList<>();

// creating a integer type ArrayList
ArrayList<Integer> list2 = new ArrayList<>();

Generic Class in Java – जेनेरिक क्लास क्या है?

हम जावा में एक ऐसी class को create कर सकते हैं जिसका प्रयोग किसी भी type के objects के साथ किया जा सकता है. इस प्रकार की class को Generic Class कहते हैं.

generic class को create करना

यहाँ पर हमने T type parameter का प्रयोग जेनेरिक क्लास को create करने के लिए किया है.

class MyGen<T>{  
T obj;  
void add(T obj){this.obj=obj;}  
T get(){return obj;}  
}  

generic class को use करना –

नीचे आपको जेनेरिक क्लास को use करने का code दिया है.

class TestGenerics3{  
public static void main(String args[]){  
MyGen<Integer> m=new MyGen<Integer>();  
m.add(5);  
//m.add("yugal");//Compile time error  
System.out.println(m.get());  
}}  

इसका आउटपुट – 5

Generic Method in Java – जेनेरिक मेथड क्या है?

हम जेनेरिक क्लास की तरह, generic method को भी create कर सकते हैं जिनको किसी भी arguments के type के साथ call किया जा सकता है. Generic method में पास किये arguments के आधार पर compiler प्रत्येक method को handle करता है.

जेनेरिक मेथड का उदाहरण:-

class Demo
{
  static <V, T> void display (V v, T t)
  {
    System.out.println(v.getClass().getName()+" = " +v);
    System.out.println(t.getClass().getName()+" = " +t);
  }
  public static void main(String[] args)
  {
    display(99,"This is string");
  }
}

इसका आउटपुट:-
java lang.Integer = 88

java lang.String = This is string

Type Parameters –

Generics को सीखने के लिए type parameters के naming convention बहुत जरुरी है. सामान्य name conventions निम्नलिखित है:-

  • T – Type
  • E – Element
  • K – Key
  • N – Number
  • V – Value

Generics केवल reference type के साथ काम करता है.

हम generics के साथ primitive types का प्रयोग नहीं कर सकते. केवल reference type का use कर सकते हैं.

Test<int> obj = new Test<int>(20); 

ऊपर दिए गये code में compile-time error आएगा.

references:- https://www.javatpoint.com/generics-in-java

generic in java in Hindi

निवेदन:- अगर आपके लिए यह पोस्ट useful रही हो तो इसे अपने friends और classmates के साथ अवश्य share कीजिये. अगर आपके मन में कोई doubt है तो नीचे कमेंट करके बताइए. मैं उस doubt को solve करने में मदद करूँगा. और आपके java programming या किसी अन्य subject से सम्बन्धित कोई सवाल हो तो उसे भी नीचे कमेंट करके बताइए. Thanks.

Leave a Comment