- ASUS ROG Ally
- Vezetékes FÜLhallgatók
- Milyen házat vegyek?
- Ez már a középkategória: teszten a GeForce RTX 5070
- Kormányok / autós szimulátorok topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Épített vízhűtés (nem kompakt) topic
- ASRock lapok általában
- CPU léghűtés kibeszélő
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
Ú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?:))
- ASUS ROG Ally
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Vezetékes FÜLhallgatók
- Metal topik
- Amatőr csillagászat
- Kazy Computers - Fehérvár - Megbízható?
- Mikrotik routerek
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- Milyen házat vegyek?
- Ez már a középkategória: teszten a GeForce RTX 5070
- További aktív témák...
- Apple watch Ultra 2 black edt 2027.11.07 Apple jótállás+ Apple Care +
- Garanciával, MSI Crosshair 15 B12UEZ gamer laptop i7, RTX 3060 6gb vram, 32 gb ram. DDR4, 1TB SSD.
- Csere-Beszámítás! AMD Ryzen 7 7700 Processzor!
- Csere-Beszámítás! AMD Ryzen 8700G Processzor!
- Csere-Beszámítás! AMD Ryzen 5 9600X Processzor!
- LG 65C3 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- BESZÁMÍTÁS! GIGABYTE H77-DS3H H77 chipset alaplap garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- ÁRCSÖKKENTÉS LG 24" full HD LED IPS monitor (HDMI, DSUB, jack) eladó
- iKing.Hu - Apple 16 Pro Max - Natural Titanium - Új, kipróbált
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest