方法parseInt(String s,int radix)的目的是输出一个十进制数,输入参数“String s”,后面“int radix”代表该数字的进制,通过该方法将指定进制的数字转化成10进制输出返回。
比如:parseInt(1010,2)
意思就是:输出2进制数1010在十进制下的数.
更直白地说:parseInt(String s,int radix)就是求“int radix”进制数“String s”的十进制数是多少。
我们平时用的Integer valueOf(String s),调用的实际就是Integer.parseInt(“123”,10);
花了些时间看了该方法的源码,对源码做了一些解析。当然也有一些细节不是很懂
public static int parseInt(String s, int radix)
throws NumberFormatException
{
/*
* WARNING: This method may be invoked early during VM initialization
* before IntegerCache is initialized. Care must be taken to not use
* the valueOf method.
*/
//判断字符串是否为空,为空抛异常
if (s == null) {
throw new NumberFormatException("null");
}
//进制的范围为MIN_RADIX(2)~MAX_RADIX(36)之间,不在这个范围内的,抛异常
if (radix < Character.MIN_RADIX) {
throw new NumberFormatException("radix " + radix +
" less than Character.MIN_RADIX"