今天的积累都是为了更好的明天,加油!我是java程序员可以关注我一起学习哈!
先简单看段代码,别看答案,猜下会输出什么:
String uidString="aaaa";
int loginUid = NumberUtils.toInt(uidString);
System.out.println("NumberUtils.toInt:"+loginUid);
loginUid=Integer.valueOf(uidString);
System.out.println("Integer.valueOf:"+loginUid);
下面说下这两个的区别:
看过源码的都知道这两个底层都是调用Integer.parseInt() 这个方法,但是当传进来的参数是非数字的时候Integer.parseInt(str)这个方法会报一个异常NumberFormatException;然而NumberUtils.toInt()却对这个异常进行了捕获,捕获异常后返回 0 ;Integer.valueOf并没有进行捕获。
接下来让我们一起揭晓答案吧:
如我所想,Integer.valueOf果然抛出了异常!你看懂了吗?麻烦点个赞呗!