Kezdőoldal » Számítástechnika » Programozás » Javaban generikus metódus...

Javaban generikus metódus írásánál miért kell a metódust is paraméterezni?

Figyelt kérdés

Például:

public static <E> void replace(List<E> s, E val, E newVal) {

for (ListIterator<E> i = s.listIterator(); i.hasNext();) {

if (val == null ? i.next() == null : val.equals(i.next())) {

i.set(newVal);

}

}

}


void előtt mit keres <E> típusparaméter?



2016. jún. 21. 22:24
 1/5 anonim ***** válasza:
100%

1. Ezzel jelzed, hogy generikus metódust írsz.

2. Itt tehetsz megszorításokat a típus[ok]ra.

2016. jún. 21. 22:36
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
100%
Lényegében ott írod le, hogy milyen "betűket" fogsz használni a típusok helyett. És igen, ez jelzi azt is, hogy generikus metódust írsz.
2016. jún. 21. 22:40
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

tényleg ez így jól hangzik,

ha szeretnék csak Integer és Double típusra szűkíteni, akkor azt hogy tehetem meg?

2016. jún. 21. 22:50
 4/5 anonim ***** válasza:

Ezt így nem tudod megtenni:

[link]


Viszont olyat csinálhatsz, hogy <T extends Number> és akkor szám típusokra fog működni a metódus.

2016. jún. 21. 23:09
Hasznos számodra ez a válasz?
 5/5 Piert ***** válasza:

Ahogy az előző is írta, a Numberre tudsz megkötést tenni. Ez azért van így, mert ilyenkor egy osztályt (interfészt) határozol meg, ami esetedben közös őse a Double és Integer osztályodnak. De ugyanakkor ez elfogad minden olyan osztályt is, amely a hierarchiában a Number alatt szerepel és van oda egyértelmű út ( magyarul leszármazottja).

Ha nagyon lényeges, hogy csak a megjelölt típusokat fogadja el, akkor a függvény törzsében a getClass függvénnyel ellenőrizheted a dinamikus típust ( de ez ebben a kontextusban nem egy szép megoldás).

2016. jún. 22. 08:54
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!