字符串转整数,是平时编码中用的很多的了。
主要可以使用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。
所以,使用的时候,这个小细节需要注意下。