Hirdetés
- eldiablo: 30 év után szakítottunk, de azért még beszélünk...
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- Brogyi: CTEK akkumulátor töltő és másolatai
- GoodSpeed: Te hány éves vagy?
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Ú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
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Amazon Kindle
- exHWSW - Értünk mindenhez IS
- Idő előtt kiderülhetett a Forza Horizon 6 megjelenési napja
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Napelem
- CES 2026: nagyra nőtt 120 Hz-en a Dell
- Spórolós topik
- Goddess of Victory:Nikke
- Kormányok / autós szimulátorok topikja
- eldiablo: 30 év után szakítottunk, de azért még beszélünk...
- További aktív témák...
- Apple iPhone 15 128GB,Újszerű,Dobozaval,12 hónap garanciával
- Xbox One S 1 TB + kontroller 6 hó garancia, számlával!
- Gamer PC-Számítógép! Csere-Beszámítás! I7 10700 / 32GB DDR4 / RX 6700XT 12GB / 512 SSD + 1TB HDD
- LG 27GX790A - 27" OLED evo / 2K QHD / 480Hz & 0.03ms / NVIDIA G-Sync / FreeSync / DP 2.1 / 1300 Nits
- LÉZEREZÉS! külföldi billentyűzet magyarra kb. 20-30p alatt!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest

