作者:karen_8009 | 来源:互联网 | 2023-07-17 20:45
最近经常从后台取json,其中有个字段应该传回int数据,然而后台哥们偶尔传空串回来。APP解析json这个字段没有用getInt而是用getString,这样解析不会因为空串出
最近经常从后台取json,其中有个字段应该传回int数据,然而后台哥们偶尔传空串回来。
APP解析json这个字段没有用getInt而是用getString,这样解析不会因为空串出问题。
然后在具体使用这个字段的时候再Integer.valueOf(字符串),从字符串转成int,这时空串会出错,想了想,觉得有种方式还是可以凑合用的:
// String str; //解析json得到的字符串
// int i = Integer.valueOf(0 + str);
// 这样如果是空串会获得int 0, 如果是数字,前面加个0再转int依然是数字本身。
// 算是灵光一闪吧,之前的处理是加if判断,空串赋0,非空转换。但是if越加越多,这种写法看起来没那么复杂。
// 存疑:if的效率和0+的效率对比?
// 另:用0+则后台不能传回负数来,否则依然报错。
发现optInt方法似乎已经干了这个事。谢 http://my.csdn.net/qq_23195583 指导。
Returns the value mapped by name if it exists and is an int or can be coerced to an int. Returns 0 otherwise.
public int optInt(String name)
其他各opt方法同理。
另:使用opt方法时无需try catch