字符串转整数,是平时编码中用的很多的了。

主要可以使用Integer类的parseInt和valueOf方法。

Integer.parseInt("10");// <1>
Integer.valueOf("10");// <2>

这两个方法有什么区别呢?

分别看一下源码

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

区别就在于返回的类型。

parseInt返回的是原始数据类型,或者叫基本数据类型。

valueOf返回的是Integer包装类。

 

使用建议:

如果你不需要将整数字符串转为一个整数对象,不要使用valueOf,因为这种装箱操作没有必要,会带来性能损耗。

举个例子:

private void method1(int a){
}

private void method2(){
    method1(Integer.parseInt("1"));  //<1>
    method1(Integer.valueOf("1"));  // <2>
}

method1接收一个int参数,method2中调用method1时,由于valueOf返回一个Integer对象,所以代码<2>处会先装箱为包装类再拆箱为int。

所以,使用的时候,这个小细节需要注意下。

 

相关文章:

  • 2021-08-30
  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
  • 2021-05-29
  • 2021-06-10
  • 2021-10-02
  • 2021-11-21
猜你喜欢
  • 2021-07-18
  • 2021-10-20
  • 2021-09-01
  • 2021-06-14
  • 2021-04-20
相关资源
相似解决方案