好久没有用过java了,渐渐有点生疏。同事今天问我一java问题,未能及时解除,确实够尴尬的。
问题是 如何将数字字符串转换为int型,而不用常规的Integer.parseInt(), valueOf()实现。
事后立即查找了,在stackoverflow网,找到一方法,为警示自己,时刻提醒自己, 粘贴如下:
public static int strToInt( String str ){
int i = 0;
int num = 0;
boolean isNeg = false;
//Check for negative sign; if it's there, set the isNeg flag
if (str.charAt(0) == '-') {
isNeg = true;
i = 1;
}
//Process each character of the string;
while( i < str.length()) {
num *= 10;
num += str.charAt(i++) - '0'; //Minus the ASCII code of '0' to get the value of the charAt(i++).
}
if (isNeg){
num = -num;
}
return num;
}