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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统