首先从返回类型可以看出parseInt返回的是基本类型int,而valueOf返回的是对象。

我们来看一下JDK8的官方文档:
Java中valueOf与parseInt方法比较

再看valueOf的描述有

new Integer(Integer.parseInt(s))

可以大胆猜测valueOf的内部其实就是调用了parseInt方法。 所以直接去找源码。

public static Integer valueOf(String s) throws NumberFormatException {
        return Integer.valueOf(parseInt(s, 10));
 }

 public static Integer valueOf(int i) {
    assert IntegerCache.high >= 127;
 if (i >= IntegerCache.low && i <= IntegerCache.high)
        return IntegerCache.cache[i + (-IntegerCache.low)];
    return new Integer(i);
 }

 public static int parseInt(String s) throws NumberFormatException {
    return parseInt(s,10);
 }

结语

因为JDK5以后实现了自动拆装箱,因而两者的差别也不是特别大了,但是从效率上考虑,建议首先考虑parseInt方法。

相关文章:

  • 2022-12-23
  • 2021-09-27
  • 2021-05-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-31
猜你喜欢
  • 2022-12-23
  • 2021-11-16
  • 2022-02-06
  • 2021-11-11
  • 2022-12-23
  • 2023-03-02
相关资源
相似解决方案