Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- mefistofeles: Az elhízás nem akaratgyengeség!
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- lkristóf: Prohardver fórum userscript – hogy lásd, mikor neked válaszoltak
- gerner1
- Klaus Duran: RCS
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- sziku69: Szólánc.
- GoodSpeed: Daikin FTXF35E / RXF35F Sensira 3,3 kW Inverteres klíma - a Sztori
Ú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?:))
- Újszerű Lenovo Thinkbook 14" FHD+ IPS Ultra 5 125U 16GB DDR5 RAM 512GB NVME SS Lenovo Gar: 2029.05ig
- Teljesen új Samsung A55 DS 5G 8/128GB Awesome Iceblue (jegeskék) eladó
- Bonola 3 az 1-ben töltőállomás több Apple eszközhöz! Új!
- Eladó ASUS TUF Gaming F15 (TUF507ZV4-LP121W) i7, 24gb ram RTX 4060, gamer laptop!
- GIGA AKCIÓ! HP Elitebook 850 G8, I7-1185G7, 32 GB, 512 SSD MAGYAR VILÁGÍTÓS BILLENTYŰZET
- AKCIÓ! LENOVO ThinkPad P15 Gen2 munkaállomás - i7 11800H 32GB DDR4 1TB SSD RTX A2000 4GB W
- iPhone 11 Pro Max 64GB Midnight Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4377
- Sony WH-CH710N aktív zajszűrős Bluetooth fejhallgaó
- PANASONIC Toughbook CF-53,i5-3340M,4GB RAM,500GB HDD,DVD,WIN10
- Sima Vs.Windows Logitech Mx keys s plus és hagyományos Mx keys magyar bemutatása. Új videó linkkel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
