在Java中检查字符串是否表示整数的最佳方法是什么?
我通常使用以下惯用法来检查String是否可以转换为整数。
public boolean isInteger( String input ) { try {
Integer.parseInt( input );
return true;
}
catch( Exception e ) {
return false;
}
}
就是我,或者这似乎有点骇人听闻?有什么更好的方法?
回答:
如果你不担心潜在的溢出问题,该功能的执行速度将比使用快20-30倍Integer.parseInt()
。
public static boolean isInteger(String str) { if (str == null) {
return false;
}
int length = str.length();
if (length == 0) {
return false;
}
int i = 0;
if (str.charAt(0) == '-') {
if (length == 1) {
return false;
}
i = 1;
}
for (; i < length; i++) {
char c = str.charAt(i);
if (c < '0' || c > '9') {
return false;
}
}
return true;
}
以上是 在Java中检查字符串是否表示整数的最佳方法是什么? 的全部内容, 来源链接: utcz.com/qa/410214.html