![afe0798330a3340666df6849e31e5dfa.png](https://i-blog.csdnimg.cn/blog_migrate/65546306b456af759e79ec4b7afb5eb5.jpeg)
在日常开发工作中,我们经常需要将一个字符串值转换成整型值,这个时候我们可以选择Integer.valueOf
和Integer.parseInt
两个选择.
接下来我们分析下这两个方法的区别.
Integer.valueOf
返回值是Integer类型.
Integer.parseInt
返回值是int类型.
而且,在Integer类中还有一个内部的缓存类IntegerCache
,它默认缓存了[-128, 127]的Integer值.
Integer.parseInt
很简单,它是将一个字符串转成10进制的int数值.
Integer.valueOf
流程比较复杂,下面我们看一张流转图
![534560ab8b57e0f84ef06d2b1a46cf19.png](https://i-blog.csdnimg.cn/blog_migrate/5355eb5b206591acbbfb53b0c5c09ef1.png)
步骤:
1.使用Integer.parseInt方法将Integer.valueOf的字符串类型参数转成int类型.
2.判断参数值是否在[-128, 127]范围之间,如果在范围内则直接从IntegerCache类中取值.
3.如果不在范围内则直接创建一个新的对象
个人站点
公众号: Netty历险记