java里 Integer.parseInt()的参数具体该是哪些啊

2025-01-07 09:18:16
推荐回答(5个)
回答1:

java.lang.Integer.parseInt(String s, int radix) 方法解析的字符串参数s作为一个有符号整数的基数指定的第二个参数基数。
参数
s -- 这是一个包含被解析的整数表示的字符串。
radix -- 在语法分析的基础上,这是需要使用的基数。

回答2:

public static int parseInt(String s) throws NumberFormatException ,其中的s为十进制数字字符串,public static int parseInt(String s,int radix) throws NumberFormatException,其中s为数字字符串,radix为基数就是几进制。这里有几例子:parseInt("0", 10) returns 0
parseInt("473", 10) returns 473
parseInt("-0", 10) returns 0
parseInt("-FF", 16) returns -255
parseInt("1100110", 2) returns 102
parseInt("2147483647", 10) returns 2147483647

回答3:

看源代码

public static int parseInt(String s, int radix)
throws NumberFormatException
{
if (s == null) {
throw new NumberFormatException("null");
}

if (radix < Character.MIN_RADIX) {
throw new NumberFormatException("radix " + radix +
" less than Character.MIN_RADIX");
}

if (radix > Character.MAX_RADIX) {
throw new NumberFormatException("radix " + radix +
" greater than Character.MAX_RADIX");
}

int result = 0;
boolean negative = false;
int i = 0, max = s.length();
int limit;
int multmin;
int digit;

if (max > 0) {
if (s.charAt(0) == '-') {
negative = true;
limit = Integer.MIN_VALUE;
i++;
} else {
limit = -Integer.MAX_VALUE;
}
multmin = limit / radix;
if (i < max) {
digit = Character.digit(s.charAt(i++),radix);
if (digit < 0) {
throw NumberFormatException.forInputString(s);
} else {
result = -digit;
}
}
while (i < max) {
// Accumulating negatively avoids surprises near MAX_VALUE
digit = Character.digit(s.charAt(i++),radix);
if (digit < 0) {
throw NumberFormatException.forInputString(s);
}
if (result < multmin) {
throw NumberFormatException.forInputString(s);
}
result *= radix;
if (result < limit + digit) {
throw NumberFormatException.forInputString(s);
}
result -= digit;
}
} else {
throw NumberFormatException.forInputString(s);
}
if (negative) {
if (i > 1) {
return result;
} else { /* Only got "-" */
throw NumberFormatException.forInputString(s);
}
} else {
return -result;
}
}

回答4:

要是纯数字的字符串,而且是在int的范围内

回答5:

不是所有的字符串都可以转换的!
int num = Integer.parseInt("123");