Hirdetés
- Kormányok / autós szimulátorok topikja
- Apple MacBook
- Milyen billentyűzetet vegyek?
- Vezeték nélküli fejhallgatók
- Bluetooth hangszórók
- Milyen belső merevlemezt vegyek?
- Fejhallgató erősítő és DAC topik
- Pixel plus ultra: teszten a 6K-s LG UltraFine monitor
- ThinkPad (NEM IdeaPad)
- Analóg-mechanikus hibrid billentyűzetekkel újít a Logitech
Ú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?:))
- Synology NAS
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Kerékpárosok, bringások ide!
- Vicces képek
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Debrecen és környéke adok-veszek-beszélgetek
- Napelem
- További aktív témák...
- I7 2600K - RX 580 4Gb - 16Gb DDR3
- BONTATLAN Új iPhone 17 PRO 256-512GGB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- Bomba ár! HP ProBook 430 G3 - i5-6GEN I 4GB I 500GB I HDMI I 13,3" HD I Cam I W10 I Garancia!
- Bomba ár! Lenovo Tablet 10 - Intel N4100 I 8GB I 128SSD I 10,1" WUXGA I HDMI I Cam I W11 I Gari!
- Eladó egy Xiaomi k50 ultra (Xiaomi 12t pro) snapdragon cpu
- Eladó új állapotban levő Redmi Note 11 4/64GB szürke / 12 hónap jótállás
- BESZÁMÍTÁS! VALVE Steam Deck LCD 512GB SSD kézikonzol garanciával hibátlan működéssel
- AKCIÓ! Apple MacBook Air 13 M1 8GB RAM 256GB SSD notebook garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

