Kaj so generiki v Javi? - Vodnik za začetnike



Ta članek o generičnih zdravilih v Javi bo s primeri dal kratek vpogled v to, kaj je generični java in njegove različne vrste.

Razmislite o primeru, ko morate sestaviti seznam živih bitij v kraju. Vseeno je, ali gre za človeka, žival ali rastlino. Pomembno je samo živo bitje. V tem primeru bi jih vse razvrstili v skupine »Živa bitja« in jih ne bi uvrstili v kategorije. Kadar morate shraniti nekatere podatke, vam je pomembna vsebina in ne tip podatkov in tu uporabljate generike. Generiki v je jezikovna funkcija, ki omogoča uporabo generičnih vrst in metod.

Spodaj je seznam tem, ki jih bom obravnaval v tem članku:





Kaj so generiki v Javi?

Generiki je izraz, ki označuje nabor jezikovnih značilnosti, povezanih z opredelitvijo in uporabo generičnih vrst in metod. Java Generične metode se razlikujejo od običajnih podatkovnih vrst in metod. Pred generiki smo uporabljali za shranjevanje katere koli vrste predmetov, tj. ne-generično . Zdaj pa Generics prisilijo programer za shranjevanje določene vrste predmetov.

Zdaj, ko veste, kaj je Generics v Javi, pojdimo naprej in razumemo, zakaj potrebujete Java Generics.



kaj je ima odnos v javi

Zakaj Java Generics?

Če pogledate razredov, boste opazili, da večina razredov sprejme parameter / argument tipa Object. V osnovi lahko v tej obliki za argument vzamejo katero koli vrsto Java in vrnejo isti predmet ali argument. V bistvu so heterogena torej ni podobnega tipa.

FrameworkHierarchy - Generiki v Javi - Edureka

Včasih v aplikaciji Java podatkovni tip vnosa ni določen. Vnos je lahko celo število , do float ali . Za dodelitev vhodnih podatkov pravega podatkovnega tipa, je bilo treba opraviti predhodna preverjanja. Po tradicionalnem pristopu je bil po vnosu preverjen podatkovni tip vhodnega podatka in nato dodeljen spremenljivki pravega podatkovnega tipa. Ko je bila uporabljena ta logika, sta se povečala dolžina kode in čas izvedbe. Da bi se temu izognili, Uvedeni so bili generiki . Ko uporabljate Generics, se parametri v kodi samodejno preverijo v času prevajanja in privzeto nastavi tip podatkov. Torej tukaj potrebujete koncept generičnih zdravil v Javi.



Zdaj, ko ste dobili nekaj vpogleda v generike, pojdimo naprej in si oglejmo različne načine, kakoGenerike je mogoče uporabiti za izvorno kodo.

Vrste Java Generics

Obstajajo 4 različni načini uporabe generičnih zdravil v Javi, in sicer:

  1. Razred generičnega tipa
  2. Splošni vmesnik
  3. Splošna metoda
  4. Generic Constructor

Zdaj pa razumejmo, kako je mogoče generike poglobljeno uporabiti za razred tipa.

1. Razred generičnega tipa

Za razred naj bi veljalo, da je generičen, če razglasi eno ali več spremenljivk tipa. Ti spremenljivki so znani kot parametri tipa . Razumimo to s pomočjo primera. V spodnjem primeru bom ustvaril razred z eno lastnostjo x in vrsta lastnosti je objekt.

class Genericclass {private Object x public void set (Object x) {this.x = x} public Object get () {return x}}

Ko enkrat razred inicializirate z določenim tipom, je treba razred uporabiti samo s to vrsto. Npr. Če želite, da en primerek razreda vsebuje vrednost x tipa „ Vrvica ‘, Potem naj programer nastavi in ​​dobi edino tip. Ker sem za objekt razglasil vrsto lastnosti, te omejitve ni mogoče uveljaviti. Programer lahko nastavi kateri koli objekt in lahko pričakuje katero koli vrsto vrnjene vrednosti dobite metodo saj so vse vrste Java podvrste razred.

Za uveljavitev te vrste omejitev lahko uporabimo generike, kot je prikazano spodaj:

class Genericclass {// T pomeni 'Type' private T x public void set (T x) {this.x = x} public T get () {return x}}

Zdaj ste lahko prepričani, da predavanja ne bomo zlorabili z napačnimi vrstami. Preprost primer' Generični razred 'Izgleda tako, kot je prikazano spodaj:

Primer Genericclass = new Genericclass () instance.set ('Edureka') instance.set (10) // To bo povzročilo napako časa prevajanja

Tako torej deluje. Toanalogija velja tudi za vmesnik. Na hitro si oglejmo primer, da bi razumeli, kako je mogoče informacije o generičnem tipu uporabiti v vmesnikih v javi.

2. Splošni vmesnik

An se nanaša na abstraktne tipe podatkov. Dovolijo je treba manipulirati neodvisno od podrobnosti njihovega zastopanja. Prav tako tvorijo hierarhijo v jezikov. Razumejmo, kako je mogoče generični tip uporabiti za vmesnike v Javi.

// Vmesnik za definicijo generičnega vmesnika GenericInterface {T2 PerformExecution (T1 x) T1 ReverseExecution (T2 x)} // Razred, ki izvaja generični razred vmesnika Genericclass implementira GenericInterface {public Integer PerformExecution (String x) {// izvršilna koda} public String ReverseExecution ( Celo število x) {// izvedbena koda}}

Upam, da ste razumeli, kako je mogoče generike uporabiti za razred in vmesnike tipov. Zdaj pa se poglobimo v ta članek in razumemo, kako koristen je za metode in konstruktorje.

3. Splošne metode

Generične metode so zelo podobne generičnim razredom. Med seboj se razlikujejo le v enem vidiku, ki ga Podatki o obsegu ali tipu so samo znotraj metode. Splošne metode uvajajo lastne parametre tipa.

Razumimo to na primeru. Spodaj je primer splošne metode, ki jo lahko uporabimo za iskanje vseh pojavitev parametrov tipa na seznamu spremenljivk.

javni statični int countAllOccurrences (T [] seznam, T element) {int count = 0 if (element == null) {for (T listElement: list) if (listElement == null) count ++} else {for (T listElement: list ) if (element.equals (listElement)) count ++} count count}

Če posredujete seznam Vrstica za iskanje po tej metodi bo delovala v redu. Če pa poskusite najti številko na seznamu niza, bo prišlo do napake pri času prevajanja.

Ta analogija je podobna tudi konstruktorju. Vzemimo primer za generični konstruktor in razumemo, kako deluje.

4. Generični konstruktor

Za gradbenika je blok kode, ki inicializira novo ustvarjeni objekt. A gradbenik je podoben metodi primera v J ava vendar to ni metoda, saj nima vrste return. Konstruktor ima enako ime kot razred in je videti tako v J ava Koda. Zdaj pa vzemimo primer in razumemo, kako deluje.

class Dimension {private T length private T width private T height // Generični konstruktor public Dimension (T length, T width, T height) {super () this.length = length this.width = width this.height = height}}

V zgornjem primeru ima konstruktor razreda dimenzije informacije o tipu. Tako lahko imate primerek dimenzije z vsemi atributi samo ene vrste. Tako lahko uporabite konstruktorje generičnega tipa. Upam, da ste razumeli vrste generikov v Javi.

Zdaj pa pojdimo naprej in si oglejmo prednosti generikov v Javi.

Prednosti generičnih zdravil v Javi

1. Ponovna uporaba kode

Lahko sestavite strategijo ali razred ali enkrat in uporabite za katero koli vrsto ali kakršen koli način, ki ga potrebujete.

2. Vlivanje posameznih tipov ni potrebno

V bistvu ste si opomogli od vsakič ga morate vtipkati. Tipkanje pri vsaki nalogi obnovitve je velika migrena. Za izkoreninjenje tega pristopa so bili uvedeni generiki.

3. Implementacija generičnega algoritma

Lahko izračuna algoritme, ki delujejo tudi na različnih vrstah elementov, ki so varni za tip.

To je bilo vse o prednostih Java Generics. S tem smo prišli do konca tega članka o generikih v Javi. Upam, da se vam zdi informativen in vam je pomagal pri razumevanju Java Generics.

Oglejte si Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tu smo, da vam pomagamo pri vsakem koraku na poti, saj smo poleg tega vprašanja za java intervjuji pripravili učni načrt, ki je zasnovan za študente in strokovnjake, ki želijo biti razvijalec Java. Tečaj je zasnovan tako, da vam nudi uvod v programiranje Java in vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi Java okviri, kot so Hibernate & Spring

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega »Generiki v Javi ' Članek in se vam bomo javili v najkrajšem možnem času.