Integer.parseInt() 和valueOf 的区别



今天查看以前的find-bugs 插件导出的bug列表,其中有这么一条,这个级别还是high ,既然是高级别的bug,那我得看看了

Boxing/unboxing to parse a primitive

 这一条的最后定位为 valueof() 然后赋值给 int 变量,建议是什么呢

他给出的建议是  Should call Integer.parseInt(String) instead


那到底Integer.valueOf() and Integer.parseInt() 之间什么区别呢,

以前我就注意到这个东西,想过这个东西,但是呢,凡是问个为什么,毕竟我 不是专家,然后到 stack overflow 看了看


http://stackoverflow.com/questions/7355024/integer-valueof-vs-integer-parseint?noredirect=1&lq=1


这里有解说,和原来理解的一样 parseInt 返回的是int 类型的值,而valueof 返回的是 Integer 对象, 一个是原生类型,一个是object类型。

其实我的理解为,int 是原生的占的内存空间小,object 占的空间大。而且我相信 原生类型的比较,比方说相等,大小比较等和object类型的比较都不一样,应该相对简单那么一点点。

权当我胡说八道,如果我说错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值