Hirdetés
- GoodSpeed: Kell-e manapság egérpad vagy sem?
- Brogyi: CTEK akkumulátor töltő és másolatai
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- GoodSpeed: WindowBlinds 11
- eBay-es kütyük kis pénzért
- Real Racing 3 - Freemium csoda
- Oldman2: A KOReader ebook olvasó program
Ú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?:))
- Motorola Edge 70 - többért kevesebbet
- Akciókamerák
- PlayStation 5
- Arc Raiders
- GoodSpeed: Kell-e manapság egérpad vagy sem?
- Külföldi rendelések: boltok, fizetés, postázás
- Motorola Edge 40 - jó bőr
- Békéscsaba és környéke adok-veszek-beszélgetek
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- További aktív témák...
- Canon RF 800mm f/11 Is STM + álcázó+állványtalp+napellenző
- Apple iPhone 15 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 15 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- Alig pár hónapos Rotel a8 erősítő eladó
- -ÚJ,2 ÉV GAR- GAMER PC: i5-14400F (10c/16t) +RTX 5050/5060/5060Ti/5070/5080 +16-64GB DDR4! SZÁMLA!
- GYÖNYÖRŰ iPhone 14 128GB Red -1 ÉV GARANCIA -Kártyafüggetlen, MS3678, 100% Akkumulátor
- Samsung Galaxy A23 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- PlayStation 5 FAT Lemezes + kontroller 6 hó garancia, számlával!
- 35" ASUS ROG Swift PG35VQ curved GAMER monitor
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3915, 100% Akkumulátor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest

