Loading

字符串转整数的正确姿势

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

主要可以使用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。

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

 

posted @ 2019-11-11 09:43  元宝爸爸  阅读(296)  评论(0编辑  收藏  举报