- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Feltalálta a Google a keresőmotort
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S23 Ultra - non plus ultra
- Sony Xperia 1 V - kizárólag igényeseknek
- Vivo X200 Pro - a kétszázát!
- Samsung Galaxy S24 - nos, Exynos
- Szívós, szép és kitartó az új OnePlus óra
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi Mi 8 - így csinálunk csúcsmodellt Mi
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Karma
félisten
Nincs, de Exception dobása MINDIG lassú, ez nem kérdés, nyelvtől függetlneül is. .NET 2.0 előtt nem volt ott sem TryParse, és az állandó Exception-ök miatti teljesítményproblémákból adódóan tették bele.
Itt az aktuális tesztkódom.
És a futási eredmények érdekesen változtak, amióta átálltam Callable-re:
try-catch: 104 ms.
regex: 465 ms.
validator: 2350 ms.
numberutils: 96 ms. -
Superhun
addikt
org.apache.commons.validator.routines.IntegerValidator hogyan működik?
A java.text.Format osztályt használja, és azon belül is a túlterhelt parseObject metódust.
edit: megelőztek.
-
Karma
félisten
org.apache.commons.validator.routines.IntegerValidator hogyan működik?
DecimalFormat.parseObject-et használ, ami nullt ad vissza hiba esetén, vagy egy Number objektumot ha sikerült.
Egyébként megmértem, a try-catch kétszer annyi időt igényel, mint egy egyszer létrehozott Patternnel matchelni és annak függvényében Integer.parseIntet hívni. 3000000 futás esetében (kettő helyes, egy hibás) ez 1,5 vs 0.7 másodperc a Surface-emen (i5).
De beleteszem a Commons Validator és a Lang3 NumberUtilst is.
-
Karma
félisten
Egy profiler meg sikítana minden ilyenre.

@kemkriszt98
- reguláris kifejezés
- végig is iterálhatsz a szöveg betűin megnézve, szám-e (Scanner használata például)
- vannak lib-ek Java-hoz, amelyekben ez meg van oldvaVan mérési eredményed is arról, hogy ez a megoldás ténylegesen lassabb mint a felsorolt alternatíváid? Mert például az Apache Commons Langban is try-catchelnek (NumberUtils.toInt).
-
trisztan94
őstag
C#-ban vannak TryParse metódusok, pl. int.TryParse(string input, out int parsed) : bool.
Tényleg! Erre gondoltam, csak kevertem a try-catch-el

-
trisztan94
őstag
Egy profiler meg sikítana minden ilyenre.

@kemkriszt98
- reguláris kifejezés
- végig is iterálhatsz a szöveg betűin megnézve, szám-e (Scanner használata például)
- vannak lib-ek Java-hoz, amelyekben ez meg van oldvaNa hoppá, akkor visszavonom

C#-ban ez jó megoldás viszont, nem? Nekünk suliban (legalábbi amikor rákérdeztem) azt mondták, hogy egy try-catch-be rakott int parse bőven elég erre.
-
#39560925
törölt tag
Igen, esetleg a puffer létrehozására kell figyelni még.
Emellett: ConcurrentLinkedQueue<E>
Köszönöm

-
Karma
félisten
Milyen rekurzívan? Megadod a minimum X-et és a maximumot, ugyanígy az Y koordinátákat, majd simán két ciklussal bejárod a tömbödet, és felfordítasz mindent.
Mi alapján fordítanád fel a mezőket? Ha ciklussal iterálsz 0,0-ból n,m-ig, és a jobb alsó sarok tájékán kattintott a felhasználó, akkor jó darabig semmi információ nincs arról, hogy az aktuális elemet kell vagy nem felforgatni.
A rekurzív bejárás jobb lenne az adott pontból, csak rendes leállási feltétel kell neki.
-
fatal`
titán
return x >= xo && x <= xe && y >= yo && y <= ye;
?
Igen, ez volt az eredeti kód, a kérdés pedig az volt, hogy hogy van ifekkel.

-
pakriksz
őstag
String-nek nincs véletlenül getBytes() metódusa?
de, csak köze nincs az eredményének a hash-hez. Bigintegernek van, csak ugye vágja a nullákat.
-
TBG
senior tag
Sötét mágia, mikor valami nem mondja el magáról, hogy mégis hogyan fog működni, hanem összesen egy valaki tudja, hogy "ja, igen, ez ez meg emez így van".
A szoftverfejlesztés egy ilyen sötét mágiával átjárt tudomány. Láttam sok cifra dolgot már

szerk:
Egyébként meg igazad van.
-
TBG
senior tag
Sosem szabad csak az equals()-t vagy csak a hashCode()-ot felülírni! Nyilván képes lesz működni, ha csak az egyik van felülírva, de mihelyst az objektum fel lesz használva kulcsként (dictionary, set), máris hibás működést kaphatunk! Emellett azt is figyelembe kell venni, hogy az alaplogikának egyeznie kell a két metódusban, különben szintén hibás működést kaphatunk (pl. mikor egy set-hez akarnánk hozzáadni végtelen ciklusba is kerülhetünk). Sőt, igazából ilyen kulcsként való felhasználás esetén csak immutable objektumokat szabadna használni.
Nyilván az nem derült ki, hogy a kolléga mire akarja használni. És igenis, lehet az, hogy csak az egyiket írom felül. Ha egy listába rakom és csak a contains() metódust hivogatom rá, akkor bőven elég az equals() metódust felüldefiniálni.
Nem véletlenül írtam, hogy alternatív megoldás és nem az üdvözítő.
-
WonderCSabo
félisten
Type code class a minimum, de gyanítom, hogy maga az alapelképzelés is hibás jelen esetben. Ha külön típusokról beszélünk Order szempontból, akkor azt kódba reflektálni kell külön típussal.
Nem értek egyet. Ez az osztály egy rendelést reprezentál. A rendeléseknek lehetnek itt fajtái, asszem itt az volt, hogy hegyi bicikli, vagy sima bicikli. Ennyiért sztem teljesen okés elgondolás, ha pl. egy enumot vagy int értéket tartalmaz az osztály, ezért külön osztályt létrehozni sztem felesleges. Főleg, hogy *kell* külön írni ehhez osztályt, az nagyon erős túlzás.
-
TBG
senior tag
Típust boolean-nel leírni?

Ezt meg én nem értem....
-
TBG
senior tag
Nem, ez nem megoldás rá. Csak akkor segítene, ha egy közös adapterrel dolgozna minden, de akkor semmi értelme interface-t használni.
Igaz. Egy cseppet benéztem. Az adapter arra megoldás, hogy ha van egy interfészed, aminek van 100+1 metódusa, de egy új metódust nem kell mindenhol feltétlenül megvalósítani, hanem alapértelmezésben csak egy üres metódusblokk lenne null visszatérési értékkel.
-
WonderCSabo
félisten
Nem, ez nem megoldás rá. Csak akkor segítene, ha egy közös adapterrel dolgozna minden, de akkor semmi értelme interface-t használni.
Meg persze ha változik az interface, az adaptert módosítani kell. Semmiképpen nem lehet megúszni azt, hogy másik osztályt ne kelljen átírni.
-
pvt.peter
őstag
Van egy abstract osztályod, benne dolgokkal. Két év múlva kiderül, hogy jó lenne, ha lenne benne plusz egy metódus. Simán lehet módosítani az osztályt anélkül, hogy a régi kódokat elrontanád vele.
Interface esetén ezt nem lehet kivitelezni: ha bekerül az interface-be egy plusz elem, akkor azt a régi kódokban is implementálni kell. (Abstract osztály esetén lehet pl. az adott új metódusnak üres blokkja vagy egy default implementációja (pl. return null; ).)
Értem, köszönöm a választ.
-
TBG
senior tag
Van egy abstract osztályod, benne dolgokkal. Két év múlva kiderül, hogy jó lenne, ha lenne benne plusz egy metódus. Simán lehet módosítani az osztályt anélkül, hogy a régi kódokat elrontanád vele.
Interface esetén ezt nem lehet kivitelezni: ha bekerül az interface-be egy plusz elem, akkor azt a régi kódokban is implementálni kell. (Abstract osztály esetén lehet pl. az adott új metódusnak üres blokkja vagy egy default implementációja (pl. return null; ).)
Interface esetén ezt nem lehet kivitelezni: ha bekerül az interface-be egy plusz elem, akkor azt a régi kódokban is implementálni kell
Elvileg egyébként erre is van megoldás.
-
pvt.peter
őstag
Abstract osztályt lehet verziózni (beépíthető plusz metódus default implementációval), míg egy interface-t nem.
@sutszi, @TBG, @hunfatal köszönöm szépen a válaszokat

illetve @Athlon64+
"Abstract osztályt lehet verziózni"
erre tudnál nekem egy példát mutatni, hogy ez mit is jelent? -
TBG
senior tag
Van olyan rendszer, ami nem API?
Igen. Max. a terminológia más

Amit én fejlesztek egy cégen belül alkalmazást, az nem API, a Spring az API és Framework.
-
WonderCSabo
félisten
Kívülről nem lehet, csak a Car-on keresztül, és itt ez a lényeg.
Már hogy ne lehetne?
public void setTires(List<Tyre> t) {
this.tires.clear();
this.tires.addAll(t);
}Meghívod így:
List<Tyre> l = new ArrayList<>();
l.add(new Tyre(10));
car.setTires(l);
l.get(0).changeTyre(); // ez a fv. megváltoztatja az Tyre-t valamilyen módon
// a Car-ben ugyanerre van referencia, tehát abban lévő is megváltozik -
WonderCSabo
félisten
Ha csak a referenciát állítja át, akkor a kerekek listáját kívülről is lehetne változtatni, az pedig biztosan nem jó.
Így is lehet kívülről változtatni, csak nem az egész listát egyben, hanem kerekenként.
-
Soak
veterán
Nem egészen úgy működik, ahogyan egy fordított nyelvben.
Miert, en azt irtam?
-
tragiQss
tag
Tudom, egy rohadék vagyok, nem tehetek mást, mint megpróbálok napról napra ezzel a tudattal élni.
Amennyiben szimpla megértési/tervezési gondjaid vannak, akkor kérdezz a fórumon, itt vagy máshol egy valós helyzetből kiragadott példán keresztül (több ember egyébként is több mindent látott). Emellett, ha az általad épített alkalmazásból neked profitod származik bármilyen módon, ne várd el, hogy valaki ingyen szakít csak rád az idejéből.
Van egy szomorú hírem: max. hasznom annyi származna belőle, hogy ezt is tudnám.

Most szemeteljek ide a python+Qt duóval kapcsolatos töketlenkedéseimmel?
Azért itt próbáltam keresni valakit, mert java-s körökben már merem feltételezni, hogy OOP témában jártas emberre is bukkanok, a .net annyira távol áll tőlem, hogy oda be sem nézek, egyéb nyelveknél meg... szóval vannak rossz tapasztalataim.Egyébként ilyen alapon senki ne segítsen senkinek, mert esetleg még anyagi haszna származna a másiknak az "ingyenes" segítségből...

No, ennyit a kioktatósdiról... Ha valaki esetleg úgy érzi, hogy pár elméleti kérdésben ki tudna segíteni...
----------------------------
Egyébként az egész csak annyi, hogy szeretném megtudni, hogyan lehet szétosztani a feladatokat egy MVC alapokra építkező desktop GUI egyes elemei között? Viszont ehhez tartozna egy féloldalnyi leírás, aminek semmi köze a java-hoz. -
tragiQss
tag
Van az a pénz.

Nem (ki)oktatást kértem...

Pláne nem, hogy az általam kitalált programot más írja meg...
És hát... tőled eltérően vannak segítőkész emberek is a neten, csak momentán egyikük sem foglalkozik desktoppal... -
SaNyEe
aktív tag
Nem értek a lovakhoz, de szerintem érdemesebb lenne framework-özni, mondjuk Spring MVC vagy hasonló.
A Model - View - Control pattern-t követni fogom fejlesztés során, php-ban is nagyjából ezt követtem.
Framework alatt vaadin-t meg a hozzá hasonló kattintgatós megoldásokat értettem.Később lehet kipróbálok egyet-egyet, de egyenlőre köszönöm nem, inkább megismerkedek a mélységeivel ennek a témának

-
modder
aktív tag
Ha valami nincs ellátva static kulcsszóval, akkor az instance-hoz kötődik, és még most szólok, Java-ban egyáltalán nincs static ctor. Ennek az osztálynak minden eleme "package" hozzáférésű, csak rájuk van húzva a private a class miatt, ami pontosan annyira redukálja a hozzáférhetőségét, amennyire mutatja magát (ami a class-t használhatja, az használ mindent, itt semmi se látja ezt az osztályt).
Javaban van static konstruktor

-
Lortech
addikt
Sziasztok!
Adott egy double szám. Ezt kell kiírni különféle módokon, például:
000.00
EGÉSZRÉSZ valami_szöveg TÖRTRÉSZEzt hogyan tudom megtenni? A két részt meg tudom én is kapni, de hogyan tudom így formázni? RegEx-szel próbáltam, nagyjából jó, de a nullák számával nem lehet szabályozni, milyen hosszan írja ki a szám adott részét. DecimalFormat meg jó lenne, ha csak simán egy számot kellene kiírni, de a fent szereplő második példát nem tudtam kivitelezni vele.
Köszi!
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Gaming notebook topik
- Gyúrósok ide!
- Autós topik
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Feltalálta a Google a keresőmotort
- Fujifilm X
- Építő/felújító topik
- Rap, Hip-hop 90'
- Marathon: PVE-mód jön, a Bungie vázolta a következő szezont
- További aktív témák...
- Apple iPhone 13 Pro Max 256GB eladó! 85% akku, patika, 12 hó gar
- Apple iPhone 14 128GB eladó! 85% akku, használt állapot, 12 hó garancia
- Samsung S24 + ajándék belkin töltő
- Apple iPhone 14 128GB eladó! 85% akku, megkímélt állapot, 12 hó garancia
- Apple iPhone 14 128GB eladó! 89% akku, szép állapot, 12 hó garancia
- HIBÁTLAN iPhone SE 2020 64GB White- 2 ÉV GARANCIA - Kártyafüggetlen, MS5595,100% AKKSI
- Új! Gigabyte Aero X16 UltraSlim Gamer Laptop Ryzen 7 350 32GB 2TB RTX 5060 16" QHD+ 165Hz Garancia
- GAMING PC! Ryzen 9 3900X / RTX 3080 / B550 / 16GB 3200MHz / 500GB NVMe / 1250w Gold! BezsámítOK
- Apple MacBook Pro 14 M4 2024 24GB/512GB SSD újszerű állapotú 100% akku 40 ciklus
- Dell Precision 7720,17.3",FHD,i7-7820HQ,16GB DDR4,256GB SSD,P3000 6GB VGA,WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest









