62,626
社区成员
发帖
与我相关
我的任务
分享
个人还是比较喜欢这种帖的,比较有意思,撕撕挺好,要不哪来的交流,有交流才能进步。
public static Integer valueOf(String s, int radix) throws NumberFormatException {
return Integer.valueOf(parseInt(s,radix));
}
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));
}
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
parserInt的源码有点长,这里就不贴了。如果4楼觉得区别是返回值是Integer或int我也没啥说的,返回值确实不同。

如果是参数是字符串,那么确实valueOf会调用parseInt,至于你说的10进制,16进制,valueOf和parseInt都有重载,valueOf最后返回的是new Integer().
所以他俩主要区别还是一个返回包装类Integer,一个返回基本类型int。