string转换成integer的方式及原理
在看面试题的时候看到该问题,当时由于不清楚,
就查看了下源码,下面分下下源码。
1. Integer.parseInt(String str)方法
public static int parseInt(String s) throws NumberFormatException {
//内部默认调用parseInt(String s, int radix)基数设置为10
return parseInt(s,10);
}
2. Integer.parseInt(String s, int radix)方法
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.
*/
//判断字符是否为null
if (s == null) {
throw new NumberFormatException("s == null");
}
//基数是否小于最小基数
if (radix < Character.MIN_RADIX) {
throw new NumberFormatExc