class wrenwren
{
public static void main(String args[])
{
String aa = "09";
String bb = "0x3a";
int c; c = Integer.decode(aa);
System.out.println(c); c = Integer.decode(bb);
System.out.println(c);

}
}为什么有异常呢??

解决方案 »

  1.   

    前缀0  代表8进制   09  当然就错了,可以改成
    String aa = "011";
      

  2.   

    String aa = "09";
    改为
    String aa = "9";
      

  3.   

    同意,还有楼主你可以这样改:c = Integer.valueOf(aa);
      

  4.   

    4楼补充的不对吧:
    ------------------------------------------------
    还有楼主你可以这样改:c = Integer.valueOf(aa);
    ------------------------------------------------
    这样恐怕不是楼主所想要的结果吧.
    你这样可能有NumberFormatException异常.
    如果这样可以的话,那parseInt(aa);
    等.
      

  5.   

    如果这样可以的话,那Integer.parseInt(aa); 
    等不也可以都用上了.
      

  6.   

    Integer mm = Integer.getInteger("03");
    为什么mm总是null呢???
      

  7.   

    呵呵,刚在论坛里找到答案了# cps4351000
    # (cps4351000)
    #
    # 等 级:
    getInteger方法不是把字符串转换为integer值;是用来确定具有指定名称的系统属性的整数值的方法,对应的字符串为属性名,不是随便的字符串。