Cas*_*eyB 3 android android-studio
我正在将一些 BLE 代码从 iOS 移植到 Android,我们需要做的部分工作是检查一些哨兵值。它在 iOS 中运行良好,但是当我在 Android Studio 中放置相同的代码时,它给了我一个警告,说我的条件总是错误的。这是我所拥有的:
if(bytes[0] == 0xFF && bytes[1] == 0xFF && bytes[2] == 0xFF && bytes[3] == 0xFF && bytes[4])
{
event.type = EventType.NONE;
}
Run Code Online (Sandbox Code Playgroud)
我认为操作顺序有些奇怪,所以我尝试将每个检查都包装在自己的括号中,但它仍然说同样的事情。我想摆脱警告,但我似乎无法管理。
Java 字节是有符号的,可以包含从 -128 到 127 的值,0xFF被解释为整数值而不是字节,并且您有效地将值 -1 与 255 进行比较,因此您的比较失败。
您应该使用bytes[0] == -1或 (bytes[0] == (byte) 0xFF
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |