Java 将 int 转换为十六进制并再次转换回来
我有以下代码...
int Val=-32768;
String Hex=Integer.toHexString(Val);
这相当于ffff8000
int FirstAttempt=Integer.parseInt(Hex,16); // Error "Invalid Int"
int SecondAttempt=Integer.decode("0x"+Hex); // Error "Invalid Int"
因此,最初,它将值 -32768 转换为十六进制字符串 ffff8000,但随后它无法将十六进制字符串转换回整数。
在它的工作,正如我所期望的那样,和..Net
returns -32768
我知道我可以自己编写自己的小方法来转换它,但我只是想知道我是否错过了什么,或者这是否真的是一个错误?