Moc*_*ish 14 java string parseint
当我运行parseInt时:
Integer.parseInt(myString);
Run Code Online (Sandbox Code Playgroud)
它抛出:
NumberFormatException: For input string: ""
Run Code Online (Sandbox Code Playgroud)
这是否意味着我做了这样的事情?
if(StringUtils.isNotBlank(myString))
return Integer.parseInt(myString);
else
return 0;
Run Code Online (Sandbox Code Playgroud)
Dav*_*ton 26
是的,但是:用一个瘦的方法包装它(并消除多余的方法else),或使用现有的实现,如Commons Lang的NumberUtils.toInt(str, defaultValue):
NumberUtils.toInt(myString, 0);
Run Code Online (Sandbox Code Playgroud)
此方法处理null值和转换失败.
Jon*_*eet 13
那么,您可以使用条件运算符:
return StringUtils.isNotBlank(myString) ? Integer.parseInt(myString) : 0;
Run Code Online (Sandbox Code Playgroud)
如果您需要在多个地方执行此操作,您可能希望将其放入单独的方法中.请注意,您还应该考虑其中myString为null或包含非数字文本的情况.
如果字符串可以为空,我这样做:
Integer.parseInt("0" + inputString)
Run Code Online (Sandbox Code Playgroud)
当我不确定它只包含数字时:
Integer.parseInt(0 + inputString.replaceAll("\\D+",""))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25855 次 |
| 最近记录: |