Hirdetés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Vezetékes FEJhallgatók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- 3D nyomtatás
- Fejhallgató erősítő és DAC topik
- KODI (ex-XBMC) Android alapokon, Androidos media-boxok
- HDD probléma (nem adatmentés)
- BIOS topic
- Kormányok / autós szimulátorok topikja
- SSD kibeszélő
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
Új hozzászólás Aktív témák
-
Ursache
senior tag
Ahogy mondtad, hogy programnyelvet kell felismertetni, feldolgozni, egyből a fordítóprogramok tárgy ugrott be, onnét meg bisonc++ és flex. Gondoltam, hogy java-ban is van valami ehhez hasonló (ennek megfelelő) változat, és van
Szépen elkülönítve vannak a részek, struktúrált felépítés, semmi gányolás. Lexikális elemzés, szintaktikus elemzés, szemantikus elemzés, kódgenerálás (kódoptimalizálás).
De ennek azért komoly elméleti háttere is van (LA)LR(1) vagy általánosítva k-ra. SLR(1), meg mindenféle formális nyelvek, automata, grammatikák, nyelvosztályok. VDA (véges determinisztikus automaták), különféle algoritmusok, CYK algo, etc... Szóval könnyen el lehet benne veszni.
Hajrá!
-
thon73
tag
Bocsánat, hogy magamnak válaszolok, de időközben végül egy próbaprogrammal megfejtettem:
Object longobject = 0x0102030405060708L;
long longprimitive = (long)longobject;
// char charprimitive = (char)longobject; -> exception
// int intprimitive = (int)longobject; -> exception
char charprimitive = (char)(long)longobject;
int intprimitive = (int)(long)longobject;
// Character charobject = (Character)longobject; -> exception
// Integer intobject = (Integer)longobject; -> exception
Character charobject = Character.valueOf( (char)((Long)longobject).longValue() );
// (char)(long)longobject;
Integer intobject = (int)(long)longobject;Végülis logikus: a wrapper osztályok (szinte) kizárólag a saját primitivjükkel átjárhatóak (boxing). És csak a primitivek alakíthatóak egymásba (casting), a nem öröklési viszonyban álló objectek nem. (Bár a Long-Object átalakítás szintén casting, ha mindent jól értettem.)
Gondolom, ez itt sokaknak nagyon alap szint; de én azért jól megszenvedtem vele, mire kiolvastam a tudományból, hogy pontosan mi is kell ide meg hogyan működik...
-
thon73
tag
A Long Object "lebutítását" csak így tudtam megoldani:
Object result = getLongValue();
result = (long) result & (long) Character.MAX_VALUE;Működni működik, csak nem tűnik túl szépnek.
Viszont egy lépéssel később megint elakadtam. A "lebutított" értéket át is szeretném pakolni egy másik wrapper osztályba. ((Egy univerzális feldolgozó Object-ként kapja meg az értékeket ((Long a numerikus és String a Stringek számára), és különböző átalakítások, ellenőrzések után ezt kellene visszaadnia, csak éppen a kívánt méretnek megfelelő wrapper osztályba helyezve. Pl. Objekctként numerikus Long érték -> Objectként numerikus Character érték.))
Hogyan tudok egy Objectet, ami bizonyosan egy Long értéket tartalmaz, a lehető legegyszerűbben egy olyan Object-té alakítani, ami Character-t tartalmaz? ((A fordító vagy feleslegesnek látja a próbálkozásaimat, vagy hibaüzenetekkel bombáz.))
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Tidal
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- sziku69: Fűzzük össze a szavakat :)
- iPhone topik
- Jövedelem
- Heroes of Might & Magic: Olden Era
- Óvodások homokozója
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Formula-1
- További aktív témák...
- Samsung Galaxy A33 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! HP Victus Gaming 16-S0017NH 16 notebook - R5 7640HS 32GB DDR5 1TB SSD RTX 4050 6GB WIN1
- HIBÁTLAN iPhone 12 mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3392, 94% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5600X / RX 6700XT / 32GB DDR4 !
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3691
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest