Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Mr Dini: Mindent a StreamSharkról!
- hcl: Amúgy mi a terv?
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- GoodSpeed: Te hány éves vagy?
- Rap, Hip-hop 90'
- Luck Dragon: Asszociációs játék. :)
- mefistofeles: Érdekes történések a hardveraprón 3
- Magga: PLEX: multimédia az egész lakásban
Új hozzászólás Aktív témák
-
Szmeby
tag
válasz
plaschil
#6108
üzenetére
Amikor enumot csinálsz, nyugodtan tekintsd őket konstansnak. Vagyis a legtöbb esetben felesleges mellé static final cuccokat definiálni, azok simán elvannak az enum obejktumon belül is. Pl. a KapacitasTipus-ban.
Vagy eleve a double értékeket adod be a konstruktornak (0.5 és 1.0), vagy ha ragaszkodsz az egész számokhoz is, akkor a konstruktorban elosztod százzal. Így a getter sokkal egyszerűbb lesz, megszűnik a felesleges komplexitás (if).Valami ilyesmi módon:
public enum KapacitasTipus {
M0(100), M10(50);
private final int kapacitasTipus;
private final double ertek;
private KapacitasTipus(int tipus) {
this.kapacitasTipus = tipus;
this.ertek = tipus / 100.0;
}
public int getKapacitasTipus() {
return this.kapacitasTipus;
}
public double getKapacitasTipusErtek() {
return this.ertek;
}
}De akár második konstruktor argumentumként is belőhető a másik szám, ha erre tényleg szükség van.
Ami a komplexitást illeti, amikor gigászi if-else vagy switch-case füzéreket látsz, akkor érdemes elgondolkodni azon, hogy talán nem a legjobb helyen vannak. Gondolok itt a Szerzodes.createList() metódusra, ahol egy stringből enum objektumot készítenél. Szerencsére erre létezik az enumban beépített metódus:
pkod = PontKod.valueOf(kod);
...
ktipus = KapacitasTipus.valueOf(kapacitastipus);Amit tudni érdemes róla, hogy exception-t dob, ha olyan stringet kap, amihez nem talál enum példányt. Ha szükséges, ezt ajánlott lekezelni egy try-catch-ben.
A PontKod átalakításával még átláthatóbb kódod lesz.Az enumnak van még pár hasznos beépített metódusa (name(), ordinal(), values()), érdemes őket megismerni.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Arc Raiders
- One otthoni szolgáltatások (TV, internet, telefon)
- Windows 11
- SONY LCD és LED TV-k
- Huawei Mate 40 Pro - a csúcson kell abbahagyni?
- A fociról könnyedén, egy baráti társaságban
- Milyen billentyűzetet vegyek?
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Elfújta a szél a Meizu 22 Airt
- Gumi és felni topik
- További aktív témák...
- HP EliteBook 645 G10 14" AMD Ryzen 5 PRO-7530U 4,5Ghz 16GB DDR4-3200Mhz 512GB Nvme Magyar Bill.
- Bomba ár! Dynabook Portege X30-L - i5-11G I 8GB I 256SSD I 13,3" FHD Sérült I Cam I W11 I Garancia!
- Bomba ár! Dynabook Portege X30-L - i5-1135G7 I 8-16GB I 256SSD I 13,3" FHD I Cam I W11 I Garancia!
- Bomba ár! Dynabook Portege X30-F - i5-8GEN I 8GB I 256SSD I 13,3" FHD I BillSér I Cam I W11 I Gari!
- Bomba ár! Dynabook Portege X30-F - i5-8265U I 8GB I 256SSD I 13,3" FHD I Cam I W11 I Garancia!
- LG 49WQ95X-W - 49" NANO IPS - 5120x1440 Dual QHD - 144Hz - USB Type-C - HDR 400 - G-Sync - FreeSync
- LG 65C4 - 65" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
- LG 27GS60QC-B - 27" Ívelt - 2560x1440 - 180Hz 1ms - AMD FreeSync - Bontatlan - 2 Év Gyári Garancia
- iPhone 16 Pro 128GB Desert Titanium -1 ÉV GARANCIA - Kártyafüggetlen
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

