Hirdetés
- Micro Four Thirds
- Billentyűzet-választó: mechanikus vs membrános – kinek melyik a jobb?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- AMD Navi Radeon™ RX 9xxx sorozat
- Majdnem megfelezi a GeForce GPU-k gyártókapacitását az NVIDIA?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen videókártyát?
- Hővezető paszták
- Házimozi belépő szinten
- Amlogic S905, S912 processzoros készülékek
Ú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?:))
- sziku69: Fűzzük össze a szavakat :)
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Kerékpárosok, bringások ide!
- Filmvilág
- Azonnali játékos kérdések órája
- exHWSW - Értünk mindenhez IS
- Spórolós topik
- Két kamerával cserélné az iPhone Air a zakót kapucnis pulcsira
- Januártól igényelhető a kiskorúak tartalomvédelme a mobilszolgáltatóknál
- Micro Four Thirds
- További aktív témák...
- Precision 5490 14" FHD+ IPS Ultra 7 165H RTX 2000 Ada 32GB 1TB NVMe ujjlolv IR kam gar
- Eladó Gamer PC - i7-14700KF,32GB DDR5 RAM, 2TB SSD, ASUS RTX 4070S
- Stealth 14 AI Studio A1VFG 14" 2.8K OLED Ultra 7 155H RTX 4060 16GB 512GB NVMe magyar vbill gar
- PC bontás - 1STPLAYER RGB ház, be quiet 550w gold, Z790i Plus ITX + i9-13900H ES, 32Gb, RTX 3070
- Hibás Processzorok! 8-14gen, illetve ryzen
- Azonnali készpénzes INTEL CPU NVIDIA VGA számítógép felvásárlás személyesen / postával korrekt áron
- Xiaomi Redmi 14C / 4/128GB / Kártyafüggetlen / 12Hó Garancia
- Samsung Galaxy A23 5G / 4/128GB / Kártyafüggetlen / 12 Hó Garancia
- ÚJ MacBook Pro 14" M4 PRO 24GB 512GB Space Black
- Apple iPhone 13 Mini 128GB,Újszerű,Adatkabel,12 hónap garanciával
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


