我看到这个知识点是Java面试基础中的考点,所以自己为了以后面试打算自己过一遍。
我看到别人博客上对源码直接是文字说明,我觉得效果不是很好,我这里直接代数测试这个源码运行流程。
从以上代码可以看出 multmin 和result 都为负值 这样设计的原因我猜测是
/
Accumulating negatively avoids surprises near MAX_VALUE
(累加负值避免超过最大值 最小值:-2147483648 最大值:2147483647)
利用negative 这个标志变量,很巧妙的区分开了正负。
Integer.parseInt() 是Integer包装类下的一个方法,作用是将()内的String类型字符串转化为int类型
Integer.parseInt()方法中要求的是()内的字符串必须是是数字,但其第一个数字前可以带 ‘-’ (负号)
补充:
如果str中含有部分非数字元素(除’-’),则会抛出错误