Hirdetés
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Elektromos rásegítésű kerékpárok
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Kalandor: Fred
- Brogyi: CTEK akkumulátor töltő és másolatai
- Lalikiraly: Kinek milyen setupja van?
- Cseppino: Windows 11 25H2 frissítés – Újdonságok, AI-funkciók és rejtett beállítások.
Ú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?:))
- Battlefield 6
- Külső 3,5'' mobil rack-ek topikja
- A Synology visszatáncolt a saját márkás HDD-k megkövetelésének kapcsán
- Trollok komolyan
- Honor Magic6 Pro - kör közepén számok
- iOS alkalmazások
- Gaming notebook topik
- Képeken a Huawei új Watch GT 6 órái
- Béta iOS-t használók topikja
- Torrent meghívó kunyeráló
- További aktív témák...
- 0% THM 6 havi részlet, beszámítás! Gamer PC, notebook, konzol, Apple termék, hardver KAMATMENTESEN!
- AKCIÓ! ASUS ROG STRIX Z270G Gaming WiFi alaplap garanciával hibátlan működéssel
- LG 49SE3D-B 49" FullHD LED Monitor
- BESZÁMÍTÁS! Asus H370 i7 8700K 16GB DDR4 512GB SSD RTX 2060 Super 8GB RAMPAGE Shiva A-Data 650W
- Dell XPS 13 9370 - 9380 UHD touch, 16GB RAM, 256-512GB SSD, jó akku, szép állapot, számla, garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest