java.lang.NumberFormatException: multiple points特例及解决!
java.lang.NumberFormatException: multiple points
大多数情况否是网上说得那样,是因为多线程的关系,但是我遇到的情况却是特例,是在SnmpGet的返回值处理时,报的异常;
代码如下:
List集合中放的是,下面的oid = value ,是属于VariableBinding类型的;
.1.3.6.1.4.1.2021.9.1.8.1 = 16613536
.1.3.6.1.4.1.2021.9.1.6.1 = 879039388
for (int i = 0;i<list.size();i++) {
mylog("----list.get(i)"+list.get(i));
str = Double.toString(Double.parseDouble(list.get(0)) / Double.parseDouble(list.get(1)) * 100);
}
虽然做了.toString();处理,但是“.1.3.6.1.4.1.2021.9.1.6.1 = 879039388”的字符串,是无法进行Double.parseDouble();转换的,故会报错:
java.lang.NumberFormatException: multiple points
snmp请求中可以将VariableBinding类型的数据,先转换为String类型数据,如:
VariableBinding vb1 = response.get(1);
list.add(vb1.getVariable().toString());
然后再进行for循环遍历的时候,就不会出现 multiple points 的错误了。