Mi a Generics a Java-ban? - Útmutató kezdőknek

Ez a cikk a Java generikáiról rövid betekintést nyújt a java generikumokba és azok különféle típusaiba, példákkal együtt.

Vegyünk egy példát, ahol össze kell állítanod egy helység élőlényeit. Nem számít, hogy emberi lény, állat vagy növény. Csak egy élő lény számít. Ebben az esetben mindet „élőlényként” csoportosítanád, és nem kategorizálnád őket. Hasonlóképpen, amikor néhány adatot tárolnia kell, akkor a tartalom és nem az adattípus számít Önnek, és itt használja a Generics alkalmazást. Generikusok olyan nyelvi jellemző, amely általános típusok és módszerek használatát teszi lehetővé.



Az alábbiakban felsoroljuk azokat a témákat, amelyekkel a cikkben foglalkozom:



Mi a Generics a Java-ban?

Generikusok olyan kifejezés, amely az általános típusok és módszerek meghatározásához és használatához kapcsolódó nyelvi jellemzők halmazát jelöli. A Java Generic módszerek különböznek a szokásos adattípusoktól és módszerektől. A Generics előtt a bármilyen típusú tárgy tárolására, azaz nem általános . Most a Generics kényszeríti a programozó egy adott típusú objektum tárolására.

Most, hogy tudja, mi a Generics a Java-ban, lépjünk tovább, és értsük meg, miért van szükség a Java Generics-re.



Miért a Java Generics?

Ha megnézi a osztályokat, akkor megfigyelni fogja, hogy a legtöbb osztály az Object típusú paramétert / argumentumot veszi fel. Alapvetően ebben a formában bármilyen Java-típust vehetnek argumentumként, és ugyanazt az objektumot vagy argumentumot adhatják vissza. Lényegében azok heterogén azaz nem hasonló típusú.

FrameworkHierarchy - Generics Java - Edureka

Néha a Java alkalmazásban a bemenet adattípusa nincs rögzítve. A bemenet lehet egy egész szám , nak nek úszó vagy . A bemenet hozzárendeléséhez a megfelelő adattípusú, előzetes ellenőrzéseket kellett végrehajtani. A hagyományos megközelítésben a bemenet felvétele után a bemenet adattípusát ellenőrizték, majd hozzárendelték a megfelelő adattípus változójához. Ennek a logikának a használatakor a kód hossza és a végrehajtási idő megnőtt. Ennek elkerülése érdekében Bevezették a generikus gyógyszereket . A Generics használatakor a kódban szereplő paraméterek fordításkor automatikusan ellenőrizve lesznek, és alapértelmezés szerint beállítja az adattípust. Tehát itt van szükség a generik fogalmára a Java-ban.



Most, hogy betekintést nyert a Generics-be, lépjünk előre, és vizsgáljuk meg a különböző módokatA generikumok alkalmazhatók a forráskódra.

A Java Generics típusai

A Generics 4 különböző módon alkalmazható a Java-ban, és ezek a következők:

  1. Általános típusosztály
  2. Általános interfész
  3. Általános módszer
  4. Általános kivitelező

Most értsük meg, hogyan lehet a generikus anyagokat alaposan alkalmazni a típusosztályokra.

1. Általános típusosztály

Egy osztály akkor mondható általánosnak, ha egy vagy több típusú változót deklarál. Ezeket a változó típusokat a . Értsük meg ezt egy példa segítségével. Az alábbi példában létrehozok egy osztályt egy tulajdonsággal x és a tulajdonság típusa egy objektum.

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

Itt, miután inicializálta az osztályt egy bizonyos típussal, az osztályt csak az adott típussal szabad használni. Például. Ha azt szeretné, hogy az osztály egyik példánya tárolja az értéket x típusú Húr ’, Akkor a programozónak be kell állítania és meg kell kapnia az egyetlen típus. Mivel a tulajdonság típusát objektumként deklaráltam, nincs mód a korlátozás érvényesítésére. A programozó bármilyen objektumot beállíthat, és bármilyen visszatérési értéktípust várhat tőle get módszer mivel az összes Java típus a osztály.

Az ilyen típusú korlátozások érvényesítéséhez az alábbiak szerint használhatunk általános gyógyszereket:

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

Most biztos lehet benne, hogy az osztályt nem használják vissza rossz típusokkal. Egyszerű példa' Általános osztály ”Az alábbiak szerint néz ki:

Genericclass instance = new Genericclass () instance.set ('Edureka') instance.set (10) // Ez fordítási idő hibát okoz

Tehát ez így működik. Ezanalógia igaz a felületre is. Nézzünk meg gyorsan egy példát, hogy megértsük, hogyan használhatók a generikus típusú információk a java interfészein.

2. Általános interfész

An az elvont adattípusokra utal. Ők megengedik ábrázolásuk részleteitől függetlenül manipulálni kell. Ezenkívül hierarchiát alkotnak nyelveket. Tisztázzuk, hogyan lehet általános típust alkalmazni a Java felületén.

// Általános felületdefiníciós felület GenericInterface {T2 PerformExecution (T1 x) T1 ReverseExecution (T2 x)} // Általános interfész osztályt megvalósító osztály Genericclass megvalósítja a GenericInterface {public Integer PerformExecution (String x) {// végrehajtási kód} public String ReverseExecution ( Egész x) {// végrehajtási kód}}

Remélem, megértette, hogy a Generics hogyan alkalmazható a típusosztályokra és az interfészekre. Most vizsgáljuk meg mélyebben ezt a cikket, és értsük meg, mennyire hasznos a módszerek és a kivitelezők számára.

hogyan állítsd be a java napfogyatkozását

3. Általános módszerek

Az általános módszerek nagyban hasonlítanak az általános osztályokhoz. Csak egy szempontból különböznek egymástól, amelyek a hatókör vagy típus információ csak a módszeren belül található. Az általános módszerek bevezetik a saját típusú paramétereiket.

Értsük meg ezt egy példával. Az alábbiakban bemutatunk egy példát egy általános módszerre, amely felhasználható a típusú paraméterek összes előfordulásának megkeresésére a változók listájában.

public static int countAllOccurrences (T [] list, T element) {int count = 0 if (element == null) {for (T listElement: list) if (listElement == null) count ++} else {for (T listElement: list ) if (elem.egyenlő (listElement)) szám ++} visszatérés}

Ha átad egy listát Ha keresni szeretne ebben a módszerben, akkor jól fog működni. De ha megpróbál egy számot találni a String listában, az fordítási idő hibát eredményez.

Ez a hasonlat hasonlít a konstruktorra is. Vegyünk egy példát az általános konstruktorra, és megértsük, hogyan működik.

4. Általános kivitelező

Építtetőnek egy olyan kódblokk, amely inicializálja az újonnan létrehozott objektumot. A építész hasonlít egy példány metódusra J-ben ava de ez nem módszer, mivel nincs visszatérési típusa. A kivitelező osztálya megegyezik, és így néz ki J-ben ava kód. Vegyünk egy példát, és értsük meg, hogyan működik.

osztály Dimenzió {privát T hossz privát T szélesség privát T magasság // Általános kivitelező nyilvános dimenzió (T hosszúság, T szélesség, T magasság) {super () this.length = hossz this.width = width this.height = height}}

A fenti példában a Dimension osztály konstruktora rendelkezik a típusinformációval. Tehát lehet egy dimenziópéldány, csak egyetlen típusú összes attribútummal. Tehát így használhatja a generikus típusú konstruktorokat. Remélem, megértette a Java általános típusait.

Most lépjünk tovább, és vizsgáljuk meg a Generics előnyeit a Java-ban.

A Generics előnyei a Java-ban

1. Kód újrafelhasználhatóság

készíthet egy tömb objektumot java-ban

Összeállíthat stratégiát, osztályt vagy an egyszer használhatja bármilyen típusú vagy bármilyen módon, amelyre szüksége van.

2. Az egyéni típusok szerepeltetése nem szükséges

Alapjában véve információkat gyűjtött a minden alkalommal be kell írnia. Az egyes helyreállítási feladatok esetén a típusváltás súlyos migrén. Ennek a megközelítésnek a felszámolására generikus gyógyszereket vezettek be.

3. Nem általános algoritmus megvalósítása

Kiszámíthatja azokat az algoritmusokat, amelyek különféle típusú típusokon is működnek, amelyek típusbiztonságosak is.

Ez csak a Java Generics előnyeiről szólt. Ezzel a Java-generikákról szóló cikkünk végére értünk. Remélem, informatívnak találta, és segített a Java Generics megértésében.

Nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Azért vagyunk itt, hogy segítséget nyújthassunk utazásának minden lépésében, hogy e java interjúk kérdése mellett a tanévre váltsunk, előállítunk egy tananyagot, amelyet azoknak a hallgatóknak és szakembereknek tervezünk, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték, hogy előrelépést nyújtson a Java programozásban, és kiképezzen mind az alapvető, mind a fejlett Java koncepciókra, valamint a különböző Java keretrendszerekkel, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg a „Generics in Java ”Cikk és a lehető leghamarabb kapcsolatba lépünk Önnel.