Hirdetés
- Nem engedi el a 128 GB-ot a Google
- Műbőr kötésben, feltűnőbb dizájnnal is elérhető lesz a Redmi Turbo 4
- Megjöttek Magyarországra a Redmi Note 15-ök, január 22-től ennyiért kaphatók
- Google Pixel 9 Pro XL - hét szűk esztendő
- Gyorsabb lesz a tárhely, de drágább lesz a Nothing Phone (4a)
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- IDC: 2025-ben a Huawei megnyerte Kínát, az Apple a világot
- One mobilszolgáltatások
- Samsung Galaxy A54 - türelemjáték
- Bemutatkozott a Poco X7 és X7 Pro
Ú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?:))
- OLED monitor topic
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Mesterséges intelligencia topik
- Nem engedi el a 128 GB-ot a Google
- exHWSW - Értünk mindenhez IS
- Anime filmek és sorozatok
- Anglia - élmények, tapasztalatok
- Internet Rádió építése (hardver), és programozása
- Dell Precision munkaállomások
- Gaming notebook topik
- További aktív témák...
- Eladó Konfig Intel Core Ultra 7 265KF 32GB DDR5 2TB SSD RTX5070Ti 16GB O11 EVO Lamborghini!
- Bontatlan Dobozos Új Lenovo Thinkpad T14 G5 Laptop 14" -45% Ultra 7 155U 32/512 FHD+ Magyar!
- AOC C27G4ZXE Gaming Monitor 280Hz 1Ms
- ÚJ HP Pulsefire Haste Wireless Bolti ár:30k INGYEN FOXPOST
- Bontatlan Dobozos Új Lenovo Thinkpad T14 G5 Laptop 14" -45% Ultra 7 155U 16/512 FHD+ Magyar!
- Lenovo ThinkPad dokkolók: USB-C 40A9/ 40AY/ 40AS/ Thunderbolt 3 40AC/ Hybrid USB-C DisplayLink 40AF
- Keresünk Galaxy S22/S22+/S22 Ultra
- GYÖNYÖRŰ iPhone 13 Mini 128GB Midnight - 1 ÉV GARANCIA -Kártyafüggetlen, MS4071
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- LG 32UQ85V-W / 32" Nano IPS / 4K 3840x2160 / Gyárilag Kalibrált / HDR 400 / USB Type-C 90W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


