我需要检查String是否是整数。我找到了这样的解决方案:
private boolean isInteger(String str) {
try {
Integer.parseInt(str);
return true;
} catch (NumberFormatException e) {
return false;
}
}
如果没有try / catch子句,是否有更美观和正确的方法?
答案 0 :(得分:7)
您可以尝试使用正则表达式:
<强>代码强>
private boolean isInteger(String str) {
return str.matches("\\-?\\d+");
}
修改强>
感谢@Maloubobola注意到我的第一次尝试不会解析签名的整数。
答案 1 :(得分:3)
你可以试试正则表达式。这是一个正数和负数
private boolean isInt(String string) {
return string.matches("-?\\d+");
}