字符串转整数的正确姿势

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

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

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

作者: 元宝爸爸

出处:https://www.cnblogs.com/wozixiaoyao/p/11965398.html

版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。

觉得文章不错,点个关注呗!

原文地址:https://www.cnblogs.com/xinrong2019/p/11832980.html