java里比如
String s = Long.toHexString(-1L);
输出是"ffffffffffffffff",16个f,没问题。
然后我再调用parse,它就出错了
long v = Long.parseLong(s, 16);
抛出异常java.lang.NumberFormatException: For input string: "ffffffffffffffff"
它自己转换给我的,自己都无法重新解析出来?
看了资料似乎最大只能解析到Long.MAX_VALUE = "7fffffffffffffff"
如果要解析负数,只能写成Long.parseLong("-123abc", 16)这样。
那我要是接收到别人通过toHexString传给我的hex表达,我还得自己先判断一下,字符串代表的值是正数还是负数,若是负数还得手动做个转化,再喂给parseLong?
--
FROM 36.22.100.*