byte allBitsOne=0xFF;
提示精度丢失,初学java,侠们帮我解释下吧

解决方案 »

  1.   

    byte allBitsOne = (byte)0xFF;
      

  2.   

    在Java程序中,所有的整数字面值都是int型的--32bits。0xFF看上去是1byte,实际上应该是0x000000FF。所有要强制转型成较小的byte型。当然,如果你的整数字面值在-128~127之间,就不用强制转型了,系统会自动给你转的,因为Java的byte是有符号8bits,取值范围就是-128~127,在这个范围之外的只能强制转型了。
      

  3.   

    看上去是1byte,实际上是0x000000FF。大侠你讲得太好了。谢谢谢谢谢谢!