Integer.parseInt()内部是如何实现的?
今天刷到一个面试题,问Integer.parseInt()内部是如何实现的,这个问题看上去比较简单,但是之前是没有看这块源码,自己尝试按照自己的想法设计了一下,然后对比JDK实现,大方向是对的,都是扫描字符串,然后按照进制进行积累,JDK的实现细节如下:
public static int parseInt(String s, int radix)
throws NumberFormatException
{
if (s == null) {
throw new NumberFormatException("null");
}
//判断进制解析范围,只支持2-36进制,默认是十进制,redix = 10
if (radix < Character.MIN_RADIX) {
throw new NumberFormatException("radix " + radix +
" less than Character.MIN_RADIX");
}
if (radix