System.out.println(Integer.parseInt("4B5CE3D77A73",16);
引发了一个数字格式异常。并且mac地址是从该站点生成的有效地址http://www.miniwebtool.com/mac-address-generator/
我在这里想念一下吗?
答案 0 :(得分:7)
看起来这个数字大于整数可以容纳的数字。尝试使用Long:
Long.parseLong("4B5CE3D77A73",16)
Documentation声明它会抛出NumberFormatException - if the string does not contain a parsable integer
。不仅如果字符串包含无效字符,而且如果数字大于Integer.MAX_VALUE
。
答案 1 :(得分:2)
该数字不适合整数,其最大值为:
System.out.println(Integer.MAX_VALUE); // prints 2147483647
尝试以下方法:
Long.parseLong("4B5CE3D77A73",16); // 0x4B5CE3D77A73 == 82862331624051
答案 2 :(得分:0)
我认为你应该将int转换为十六进制格式。 这可能会对你有所帮助。