Android_app
[Android_App] Runtime error "cannot be cast to java.lang.Byte "
하니_즐거운하루
2023. 6. 21. 15:27
: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Byte 에러
▶ 아래와 같은 소스코드안의 if 문에서 발생을 했습니다.
fun getOnePacket(func:ByteArray,aData:ByteArray,dataLen:ByteArray,_timeout:Int):Int {
~~ 중략 ~~
if(dataLen[0] == (0 as Byte)) <--- 요기
<해결책>
: .toInt() 구문을 사용하면 해결됨.
런타임시 타입 케스팅이 아닌 Byte 형에서 Int 형으로 변환을 한후 비교를 해야 정상 동작합니다.
>> Int 형 비교
if(dataLen[0].toInt() == 0)
or
>> Byte 형 비교
if(dataLen[0] == 0.toByte())
: as 와 toInt 관련 코틀린 사이트 내용 첨부합니다.
→ as
→ toInt
참고하세요.
반응형