Hirdetés
- CES 2026: igazi mindenes a Lenovo legújabb, 4K-s QD-OLED monitora
- A Micron szerint nem dobbantott a végfelhasználói piacról a Crucial eltűnésével
- Beépített hangszórót is kapott az MSI legfrissebb mini PC-je
- CES 2026: egy ponton világelső lett a Micron új SSD-családja
- Alaposan helyretette az AI ellenzőit az NVIDIA vezetője
- Azonnali VGA-s kérdések órája
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Őrült módjára szabja át AI-ra a GeForce-okat Kína
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen pendrive-ot vegyek?
- AMD vs. INTEL vs. NVIDIA
- Kormányok / autós szimulátorok topikja
- DUNE médialejátszók topicja
- Apple MacBook
- Fejhallgató erősítő és DAC topik
Ú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?:))
- Azonnali VGA-s kérdések órája
- Gyúrósok ide!
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- BestBuy topik
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Filmvilág
- Arc Raiders
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Titan 2 Elite néven érkezik egy újabb BlackBerry-szerű Unihertz
- Genshin Impact (PC, PS4, Android, iOS)
- További aktív témák...
- Új, bontatlan Kingston FURY Beast RGB 32GB (2x16GB) DDR5 6400MHz CL32 EXPO/XMP - 2 év garancia
- PS5 Pro+Sony Pulse 3D+Játék
- Bomba ár! HP EliteBook 840 G6 - i7-8GEN I 16GB I 512GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Lenovo X13 G2i - i5-1135G7 I 16GB I 256SSD I 13,3" WUXGA Touch I W11 I Cam I Gari!
- Bomba ár! Lenovo X1 Carbon G7: i5-8265U I 8GB I 256SSD I 14" FHD Touch I HDMI I Cam I W11 I Gari!
- HIBÁTLAN iPhone 13 Mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4181, 94% Akksi
- LG 27GR83Q-B - 27" IPS / QHD 2K / 240Hz & 1ms / NVIDIA G-Sync / FreeSync / DisplayHDR 400
- Eladó igazi ritkaság! LG G7 Thinq 4/64GB / 12 hónap jótállással!
- LG 27US550-W - 27" IPS / 3840x2160 4K / 60Hz 5ms / HDR10 / Forgatható / sRGB 99%
- Dell Precision 7550 i7-10850H 32GB 1TB Nvidia RTX3000 6GB 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


