返回用8-bit表示的整数值(存储在byte中),为了处理byte中的符号位,所以要这样写。

解决方案 »

  1.   

    至于为什么代码作者不用b&0xFF,估计要么是为了展示如何处理byte的符号位,要么就是忽略了&算符默认会把参与运算的变量升格为int(如果比int小)再计算。
      

  2.   

    public static long b2iu(byte b) {
      return b&0xFF;
    }
    足矣。这样的方法在处理字节流、字符编码、网络包、或者把byte当作无符号byte时经常会看到。因为需要重新由byte组织出原有的含义。我猜楼主也应该是在别人处理这些问题的源码中看到的吧?