Tema: Re: JAVA: nebeveikia galva
Autorius: Laimis
Data: 2012-06-19 13:32:57
trigras rašė:
> Tue, 19 Jun 2012 12:58:32 +0300, Laimis <wiela@centras.lt> rašė:
>
>> Taigi, hashtable reikšmė turėtų būti ErrorCorrectionLevel tipas, o ne
>> uint8. Todėl, kaip patarė trigras, arba perrašyčiau switch'ą, arba jo
>> apskritai atsisakyčiau ir gal net pasinaudočiau reflection (viena, bet
>> bjauroka eilutė):
>
> turbūt, tikrai, atsisakymas teisingiausias sprendimas (aišku jei
> kompiliuosis :D)
>
> qr_hints.put(EncodeHintType.ERROR_CORRECTION, props.quality);

Na, Java nedirbu, bet keik suprantu, tai taip neveiks. Nes kodas, kuris 
pasiima hashtable elemento reikšmę yra toks:
ErrorCorrectionLevel requestedECLevel =
     (ErrorCorrectionLevel) hints.get(EncodeHintType.ERROR_CORRECTION);

Taigi, ErrorCorrectionLevel requestedECLevel bandoma priskirti 
props.quality (string) ar uint8 tipo reikšmę, ir BABACH — jau minėtas 
cast exception...