ejs rašė: > ir BABACH: > > Java exception occurred: java.lang.ClassCastException: java.lang.Byte > cannot be cast to > com.google.zxing.qrcode.decoder.ErrorCorrectionLevel > > at com.google.zxing.qrcode.QRCodeWriter.encode(QRCodeWriter.java:69) > > Error in ==> encode_qr at 103 M_java = qr_writer.encode(message, > BarcodeFormat.QR_CODE, props.size(2), props.size(1), qr_hints); > > Kaip kuriant Hashtable nurodyti ką ji saugo, arba kaip padaryti > cast'ą priskiriant elemento reikšmę? Aš matau: http://grepcode.com/file/repo1.maven.org/maven2/net.sourceforge.plantuml/plantuml/7746/com/google/zxing/qrcode/QRCodeWriter.java?av= if (hints != null) { ErrorCorrectionLevel requestedECLevel = (ErrorCorrectionLevel) hints.get(EncodeHintType.ERROR_CORRECTION); if (requestedECLevel != null) { errorCorrectionLevel = requestedECLevel; } } 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ė): import java.lang.reflect.Method; <...> ErrorCorrectionLevel.getDeclaredMethod( upper(props.quality) ).invoke(ErrorCorrectionLevel)