如果我们想把一个字符串转化成int类型,那么Integer类里的parseInt()
和valueOf()
都可以实现。
但是既然有两个方法实现该功能,那么两个方法一定是有区别的。
首先来看parseInt的源码:
public static int parseInt(String s) throws NumberFormatException {
return parseInt(s,10);
}
然后是valueOf的源码:
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));
}
我们可以看到,parseInt返回的是int类型,而valueOf对参数进行了封装,返回的是Integer类型。且valueOf也调用了parseInt方法。所以从效率来看,valueOf效率比parseInt效率低一些,如果仅仅是获取普通的数值,如年龄等,只需要用parseInt即可。