您的位置:首页 > 编程语言 > Java开发

java.lang.NumberFormatException 错误及解决办法

2015-10-28 14:42 666 查看
OperatingSystemMXBean osmb = (OperatingSystemMXBean) ManagementFactory
.getOperatingSystemMXBean();
// 内存
String memory = osmb.getTotalPhysicalMemorySize()
+ "B";
System.out.println(memory);
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
Object attribute = null;
try {
attribute = mBeanServer.getAttribute(new ObjectName("java.lang","type","OperatingSystem"), "TotalPhysicalMemorySize");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Total memory: "+ attribute.toString() +"B");
System.out.println("Total memory: "+ Integer.parseInt(attribute.toString()) +"MB");
System.out.println("Total memory: "+ Long.parseLong(attribute.toString())/ 1024L/1024L/1024L +"G");


错误提示:

4294967295B
Total memory: 4294967295B
Exception in thread "main" java.lang.NumberFormatException: For input string: "4294967295"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:461)
at java.lang.Integer.parseInt(Integer.java:499)
at com.travelsky.angel.client.base.util.LocIpMacCompName.main(LocIpMacCompName.java:174)

 错误关键字 java.lang.NumberFormatException 这句话明确告诉了我们是数字格式异常,接着后面有 For
input string: "

原因分析:

转换成数字类型时出错了。

<pre name="code" class="java"><strong><span style="font-size:18px;">解决方案:</span></strong>
由于int 类型最大范围是-2147483648-2147483647 ,超出他的范围所以会犯错,直接拿long型转就好了。
有时可能也会出现空格的情况,trim()掉就可以了。




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java exception