Hirdetés
- iPhone topik
- Ez lehet az Apple hajlítható telefonjának formája, mérete
- iGO Primo
- Akciófigyelő: Ha kéne vezeték nélkül CarPlay és Android Auto...
- Fél perc csend, majd világra jön egy Magic8 Pro
- Google Pixel topik
- Samsung Galaxy A17 5G – megint 16
- Xiaomi 14 Ultra - Leica hercegnő
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Apple Watch
Ú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?:))
- Pánik a memóriapiacon
- EAFC 26
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Miskolc és környéke adok-veszek-beszélgetek
- Melyik tápegységet vegyem?
- Borderlands 4
- World of Tanks - MMO
- iPhone topik
- Ez lehet az Apple hajlítható telefonjának formája, mérete
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
- Honor 90 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- Xiaomi Redmi A3 64GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy S25 Edge 256GB, Kártyafüggetlen, 1 Év Garanciával
- I7 3770K és opciánilásan egy hozzá való top kategóriás Alpenföhn K2 hűtő eladó!
- Ventilátor bazár /NZXT/CORSAIR/LIAN LI/DEEPCOOL/ZALMAN/120MM/140MM/VEZÉRLŐK/LED KIT-ek/
- GYÖNYÖRŰ iPhone 12 Mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2955, 100% Akksi
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2998, 100% Akksi
- M5! KÉSZLETKISÖPRÉSI ULTRAAKCIÓ!!! TÜZES EZÜST MacBook Pro 14" M5!!! 10C/10G 16GB 512GB Gar!
- BESZÁMÍTÁS! ASUS B760M i5 12400F 32GB DDR4 1TB SSD RTX 3070Ti 8GB ZALMAN Z1 Plus Cooler Master 750W
- Dell Inspiron 3511 /i7-1165G7/MX350/16GB/512GB M.2/WIN11/Újszerű akku/Játékra is!
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


