为什么下面的代码不起作用
System.out.println(Integer.valueOf(Integer.toOctalString(-1), 8));
System.out.println(Integer.valueOf(Integer.toBinaryString(-1), 2));
System.out.println(Integer.valueOf(Integer.toHexString(-1), 16));
如果您阅读文档,即Integer.toOctalString(int i)
的javadoc,您将找到:
将整数参数的字符串表示形式返回为以8为底的unsigned整数。
[...]
可以通过调用
Integer.toOctalString(int i)
从返回的字符串s
中恢复参数的值。
Integer.parseUnsignedInt(s, 8)
和Integer.parseUnsignedInt(s, 8)
的Javadoc说的完全一样,只是基数当然不同(分别为Integer.toBinaryString(int i)
和Integer.toBinaryString(int i)
)。
Integer.toHexString(int i)
输出
Integer.toHexString(int i)