我希望写一个小方法来做以下事情: 例如,字符串a =“a123”,则该方法应返回fulse; 字符串b =“111”,它应该返回true。 这意味着只有字符串是int,它应该返回true,所有其他情况应该返回false。 有人能帮帮我吗?谢谢!
答案 0 :(得分:8)
您可以使用Integer.parseInt(integerString);
public boolean isInteger(String integerString){
try{
Integer.parseInt(integerString);
return true;
} catch (NumberFormatException nfe) {
return false;
}
}
NumberFormatException意味着解析不会成功,因此String不是整数。
答案 1 :(得分:4)
如果你的意思是你想要一个只包含的数字0-9(和任意长度)的字符串,你可以只使用正则表达式"\\d+"
,即str.matches("\\d+")
。
如果您想考虑正面和负面的迹象,可以使用"[+-]?\\d+"
。
如果你考虑长度(原始int
拼写错误不能超过10位数),你可以使用"[+-]?\\d{1,10}+"
。