Android中 byte数据不能大于0x7F,所以遇到大于0x7F的时候比较麻烦。

我自己就弄个简单的方法,直接用强制转换,比如:

byte a;

a = (byte)0xef;

但是,判断a是否等于0xef时,会出现问题:

if(a == 0xef){

//

}else{

//

}

会进入else里面。

我的解决方法是a先与0xff进行位与(&)然后在判断是否==0xef。

如图:

             


即第一个(小于0x7f的数据)判断成功

第二个(大于0x7f的数据)判断失败

第三个(大于0x7f且和0xff进行了位与)判断成功


补充:(后来的理解)

在小于0x7f 时,int 型和byte 型 可以相互比较。在大于0x7f 时,则不可以。

如果要比较只能换成同一类型,上述的 c&0xff 后得到的是int型,故可以与0xaf运算。

也可以将0xaf强制转换为byte再运算。





更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Android-APP启动优化
  5. Android(安卓)ThreadPoolExecutor线程池
  6. Android的xml-Rpc实现
  7. Android自定义控件实现滑动开关效果
  8. android 下载文件(支持多任务,支持断点.....)
  9. Android中 AsyncTask和Handler对比(特别有用)

随机推荐

  1. Android的线程使用来更新UI------Thread
  2. Eclipse开发Android应用程序入门:重装上
  3. 如何制作表格(一)——TableLayout
  4. Android-Jni线程(三)— JNI全局回调java方
  5. 【android】ListView的item高度调整
  6. 如何将一个Activity设置成窗口的样式
  7. 如何在android 系统 C/C++ 层中添加 log
  8. 使用Google Map API v2
  9. 转 Android中进入系统设置界面
  10. Android中Display及DisplayMetrics理解