论坛首页 Java企业应用论坛

回复“主题:验证String是不是整数,用异常作判断怎么了!”

浏览 5415 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2011-01-07  
看了那帖子讨论的很激烈,也想说两句。

先说两句人人都知道的大道理,我认为任何事情都不能一概而论,一棍子打死,要具体问题具体分析,那篇帖子在没有任何背景条件下讨论“验证String是不是整数,用异常作判断”是否可行,争论不休,实在没多大意思。

首先,我先申明,大多数情况下我也不赞成用异常来判断正常逻辑,
但是,试想下面这种情况,用异常作判断String是不是整数是否反而比其他方法效率更高?

假设
1.我不仅要验证一个String是否是数字,还必须在它是数字的时候转成int型数据
2.我要验证的字符串是一个手机号码,这个字符串是其他系统传过来的(理论上其他系统对此字符串是否为数字已经做了验证),也就是说这个字符串不是数字的可能性几乎没有,即时有也很小,万分之一?十万分之一? 不管,为了自己系统的完整性,我还得再验证一遍。

这时,一种方法是,先用其他方法验证一下此字符串是否为数字,再将此字符串用parseInteger转成数字;
另一种方法是,不管三七二十一先用parseInteger转,顺便通过异常判断是否为数字。

我不说大家也应该知道那种方法快,而且应该快的不是一点点,因为异常几乎不会发生。

所以我认为,具体问题,具体分析,不能一概而论,人云亦云。
   发表时间:2011-01-07   最后修改:2011-01-07
虽然我觉得你说的不对。但是不想多说这事了。你可能要被投隐藏了。当然,我不会这么做。很小的一件事,却需要仔给的思考和实践...
0 请登录后投票
   发表时间:2011-01-07   最后修改:2011-01-07
昨天晚上,给客户做培训,其中就有人说java效率低,然后拿IBM的ITM的agent举例。想想很有意思:因为ITM的agent根本不是用java写的。在这世界上,找个理由太容易了...
0 请登录后投票
   发表时间:2011-01-07  
正则 (最小长度为5)
0 请登录后投票
   发表时间:2011-01-08  
三人行,必有我师! 抱着学习交流的心态就好了
没有必要看贬别人,有意思吗?
0 请登录后投票
   发表时间:2011-01-08  
这跟性能没关系,两种方式的功能也一样。


该情形,用异常做判断就不合适,Unchecked Exception说明是软件bug,要尽量避免的。
这是规范! 你就不要再固执了。

除非判断是否整形非常难于实现。



0 请登录后投票
   发表时间:2011-01-08  
"验证String是不是整数,用异常作判断怎么了!” 这个主题真是又臭又长啊,能不能不谈这个了,,,
0 请登录后投票
   发表时间:2011-01-08  
luckaway 写道
这跟性能没关系,两种方式的功能也一样。


该情形,用异常做判断就不合适,Unchecked Exception说明是软件bug,要尽量避免的。
这是规范! 你就不要再固执了。

除非判断是否整形非常难于实现。




Unchecked Exception说明是软件bug?
谁TM规定的?
0 请登录后投票
   发表时间:2011-01-08  
slaser 写道
luckaway 写道
这跟性能没关系,两种方式的功能也一样。


该情形,用异常做判断就不合适,Unchecked Exception说明是软件bug,要尽量避免的。
这是规范! 你就不要再固执了。

除非判断是否整形非常难于实现。




Unchecked Exception说明是软件bug?
谁TM规定的?


不一定就是程序的上bug,有可能资源、数据状态不正确引起的bug。我是没有看到那个JAVA规范里明确的说Unchecked Exception就一定是软件bug。我承认我有可能在误导大家

但是我希望你能举出一个例子,抛出Unchecked Exception不是一个bug的例子。

0 请登录后投票
   发表时间:2011-01-08  
怎么弄?
异常判断也是一个办法.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics