Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- V.Milán: Lapdiffúzor nyomáseloszlása: gondoltad volna?
- GoodSpeed: Márkaváltás sok-sok év után
- Elektromos rásegítésű kerékpárok
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- Meggyi001: Több tucat Eiffel torony??? Igen, gyere, mutatom, hogy hol...
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- bambano: Bambanő háza tája
Ú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?:))
- Békéscsaba és környéke adok-veszek-beszélgetek
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Otthoni hálózat és internet megosztás
- Gyúrósok ide!
- Nintendo Switch 2
- Linux kezdőknek
- Kormányok / autós szimulátorok topikja
- BestBuy topik
- sziku69: Fűzzük össze a szavakat :)
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- Ryzen 5 3600X Komplett PC 32GB RAM, 1.5TB NVMe SSD, Vízhűtés
- Latitude 5440 27% 14" FHD IPS i7-1365U 16GB 512GB NVMe magyar vbill ujjolv IR kam gar
- LG 29WL500-B ultraWide gamer monitor leárazás!!! AkciÓÓ!
- Dell Latitude 5420 14" FHD IPS i7-1185G7 16GB 512GB NVMe gar
- LOQ 15ARP9 15.6" FHD IPS Ryzen 7 7435HS RTX 4050 16GB 512GB NVMe magyar vbill gar
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- REFURBISHED - DELL Performance Dock WD19DCS (210-AZBN)
- OnePlus Nord 2T 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy S23 FE / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- ASUS ROG Zephyrus G14 - 14" WUXGA 144Hz - Ryzen 9 6900HS - 16GB - 1TB - Win11 - RX 6800S 8GB - HUN
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

