Java中的Integer.toString如何正常工作?

时间:2014-12-18 19:19:44

标签: string tostring

public static void main (String[] args) { 
    int a = 0010;
    String num = Integer.toString(a);
    System.out.println(num);    
} 

为什么打印8而不是0010?

2 个答案:

答案 0 :(得分:3)

Java将以0开头的整数解释为octal中表达的整数。八进制(基数8)中的10是十进制的8(基数10)。在这种情况下,Integer.toString()正在做正确的事情,因为a的值确实是8。

答案 1 :(得分:1)

整数以二进制形式存储在内存中。有几种方法可以定义整数文字。 0010是八进制,在基数为8时。toString以10(十进制)为基数打印。