int mac3=Integer.parseInt("ff0029da", 16)方法出错
Exception in thread "main" java.lang.NumberFormatException: For input string: "ff0029da"
这什么原因导致的????

解决方案 »

  1.   

    ff0029da这个是字符串,不能转换成int
      

  2.   

    好像ff和da不是不能转导致错误
      

  3.   

    MAC地址是48位的, Integer是32位的,Integer放不下的MAC的。
    Long mac3 = Long.parseLong("ff0029da", 16);
      

  4.   

    大概是超出了int类型的范围吧。
      

  5.   


    现在慢慢发现能用Integer的地方真是越来越少了,很多应用的数字范围都超出它的范围
      

  6.   

    确实超出范围了,因为parseInt只能接受31位整数(记得符号位),而送进去的ff0029da有32位。
    首位为8以下就不会超范围了。