在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

回到顶部