Long.toHexString是不是有个BUG?
long i=-1098324910;
System.out.println(Long.toHexString(i));
得到
ffffffffbe88e452
而我认为输出应该是be88e452,java没有无符号整数,我就用long来代替,但是Long.toHexString(i)当i是负数的时候,出来多了ffffffff是怎么回事?
------解决方案--------------------因为long是64位
------解决方案--------------------long在计算机中也是用补数存储的啊
------解决方案--------------------读API。
结果跟你的预期不符合不是bug,结果跟其Java DOC中写明的契约不符合才是bug。
------解决方案--------------------
UP