Jak používat generické typy v Javě

Dnes se jdeme podívat jak používat generické typy v Javě. Je to něco zajímavého, protože nám to umožní psát funkce, které fungují jakýkoli typ, bude jedno, jestli předáme celá čísla, řetězce, desetinná čísla atd. Java nám také umožní vytvářet obecné třídy, nejen funkce.

PoznámkaGenerika nelze použít s primitivními typy, jako je například int, char, atd.

Uvidíme několik příkladů, nejprve obecnou třídu a nakonec funkci, příklady jsou docela jednoduché, takže jsou snáze pochopitelné.

1. Obecná třída v Javě


První věcí, kterou uvidíme, je kompletní kód a níže jej stručně vysvětlíme v případě, že kódu nebude rozumět.
 veřejná třída GenericClass {soukromý prvek T; public GenericClass (T e) {element = e; } public T getElement () {návratový prvek; } public static void main (String args []) {GenericClass cg1 = new GenericClass (1); System.out.println ("cg1 >>" + cg1.getElement ()); GenericClass cg2 = new GenericClass ("Hello"); System.out.println ("cg2 >>" + cg2.getElement ()); }}
Nejprve se podívejme na deklaraci třídy, můžete vidět, že za názvem třídy máme , znamená, že se jedná o obecnou třídu, T může být řetězec, celé číslo atd. Až přijde čas, bude nahrazen skutečným typem.

Máme proměnnou nazvanou element, která pochází z typ T (tj. obecný). V konstruktoru tuto proměnnou vyplníme daty, která nám předají, také logicky typu T.

Než dosáhneme hlavní, vytvoříme funkci pro získání prvku, takže vrátí typ T, tato třída by nebyla nutná, protože kód je, mohli bychom prvek zavolat přímo, ale abyste viděli návratový typ funkce, není konec.

Uvnitř hlavní vše, co uděláme, je vytvořit 2 objekty této třídy, první z nich Celočíselný typ a druhý z Typ řetězce a ukážeme elementu, abychom viděli, že funguje správně.

Pokud zkompilujeme a spustíme kód, uvidíme následující:

2. Obecná funkce v Javě


Nyní uvidíme generickou funkci, jako dříve, první věcí, kterou se naučíme, je kompletní kód a ten bude vysvětlen později.
 import java.util.ArrayList; public class Generics {public static void show (input ArrayList) {input.stream (). forEach ((element) -> {System.out.print (element + "");}); System.out.println ("\ n"); } public static void main (String args []) {ArrayList list1 = new ArrayList (); pro (int i = 1; i <= 6; i ++) {list1.add (i); } ArrayList list2 = new ArrayList () {{add ("this"); přidat ("je"); přidat"); přidat ("test"); }}; System.out.println ("--- Používání ArrayList celých čísel ---"); show (seznam1); System.out.println ("--- Using ArrayList of Strings ---"); show (seznam2); }}
Máme funkci nazvanou show, která přijímá a ArrayList jakéhokoli druhu a projde to zobrazením svých dat. Uvnitř hlavní vytvoříme dva ArrayList, jeden typu Integer a druhý typu Tětiva, inicializujeme je s některými daty k provedení testu. A nakonec voláme zobrazit funkci pro každý ArrayList ověřit, že funguje správně.

Pokud zkompilováme a spustíme, uvidíme následující:

Zde tutoriál končí, viděli jste, jak snadné je v Javě používat generická data, a mít tak možnost mít třídy, které lze znovu použít pro různé typy objektů. Pokud například chceme mít kód pro ukládání faktur a jiný pro ukládání údajů o zákaznících, můžeme použít generika, která mají pouze jednu třídu.

Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave