: 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
참고하세요.
반응형
'Android_app' 카테고리의 다른 글
[Jetpack Compose] Drag / Swipe /Tap 기능 넣기 (0) | 2023.07.26 |
---|---|
[Jetpack Compose] AlertDialog 사용하기 (0) | 2023.07.12 |
[Android App] BLE GATT:: [4] characteristic read/write/ notify (0) | 2023.06.20 |
[Android app] Build Error : Duplicate class found (0) | 2023.05.19 |
[Android App] BLE GATT:: [3] Characteristic /Descriptor 출력하기 (0) | 2023.04.27 |