关于将字符串转换为数值的parseXXX方法疑惑(parseInt中带“+”号)

今天看了一下,parseInt和parseDouble,parseFloat等方法,发现Double那种在字符串中开始位置处包含“+”号不会抛出异常,而对于Integer那种反而能抛出异常,这点很奇怪。。。。

我看了parseInt的源代码,我觉得在前面加上控制“+”号的字符串解析应该是没问题的,这点很纳闷,不知道当初Sun的程序员设计考虑了什么因素,导致在Integer中不能用"+"号。

这里面的不知道有什么设计哲学?我觉得是不是因为考虑想审下键入“+”号的时间O(∩_∩)O。

不过从oracle的网站上找到了答案,这个是被报告为bug的(需增强的),jdk的开发人员认为这是合理的需求,将在未来的版本中得到解决。我看了一下,现在jdk 7的文档,里面已经说可以支持“+”号了。

下面两个链接是bug的网址:
http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=e13c96c11b702967268a3d1eb7abd?bug_id=5017980

http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=196597bb37b6a4502302efdf21d?bug_id=6233144

这是jdk 7的Integer的文档地址:
http://download.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt%28java.lang.String%29
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值