string.valueOf(2005)输出“2005”没错,但为什么string.valueOf(02005)会输出“1029”呢?这个方法到底实现什么功能?菜鸟求教!

解决方案 »

  1.   

    就是将另一个类型对象转化为string类型的
      

  2.   

    02005 是8进制数2005   等于10进制的1029string.valueOf的功能如楼上所说
      

  3.   

    02005也是int型 只不过是8进制的
    调此方法就相当于调用
    public static String toString(int i,
                                  int radix)
    返回int型参数i的String形式,radix是10
      

  4.   

    返回int型参数i的10进制String形式(默认10进制)
      

  5.   

    valueOf把另一个类型对象转化为string类型,这个方法重载了各种类型的参数,02005被自动转化为另一种类型了!
      

  6.   


    这个是java规定的   详见java基础
      

  7.   


    刚才引用错了  不好意思“为什么前面加个0就变成八进制了?“  这个是java规定的
      

  8.   

    对于一些值类型的变量toString方法会把这些值以字符串的新式返回。而对于引用类型的对象,如果没有重写toString方法将会返回这个对象的hashcode
      

  9.   

    前面0就是八进制数字这是历史原因,就像0xAA 是十六进制一样的。C 语言里面也是这么定的。并非 java 特定的,不过是一脉相承的。
      

  10.   

    首选Api 其次Google 网上很多很多很多很多滴~~
      

  11.   


    02005是八进制数要转化为十进制数在进行转化为String型输出~~