该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-07
先说两句人人都知道的大道理,我认为任何事情都不能一概而论,一棍子打死,要具体问题具体分析,那篇帖子在没有任何背景条件下讨论“验证String是不是整数,用异常作判断”是否可行,争论不休,实在没多大意思。 首先,我先申明,大多数情况下我也不赞成用异常来判断正常逻辑, 但是,试想下面这种情况,用异常作判断String是不是整数是否反而比其他方法效率更高? 假设 1.我不仅要验证一个String是否是数字,还必须在它是数字的时候转成int型数据 2.我要验证的字符串是一个手机号码,这个字符串是其他系统传过来的(理论上其他系统对此字符串是否为数字已经做了验证),也就是说这个字符串不是数字的可能性几乎没有,即时有也很小,万分之一?十万分之一? 不管,为了自己系统的完整性,我还得再验证一遍。 这时,一种方法是,先用其他方法验证一下此字符串是否为数字,再将此字符串用parseInteger转成数字; 另一种方法是,不管三七二十一先用parseInteger转,顺便通过异常判断是否为数字。 我不说大家也应该知道那种方法快,而且应该快的不是一点点,因为异常几乎不会发生。 所以我认为,具体问题,具体分析,不能一概而论,人云亦云。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-01-07
最后修改:2011-01-07
虽然我觉得你说的不对。但是不想多说这事了。你可能要被投隐藏了。当然,我不会这么做。很小的一件事,却需要仔给的思考和实践...
|
|
返回顶楼 | |
发表时间:2011-01-07
最后修改:2011-01-07
昨天晚上,给客户做培训,其中就有人说java效率低,然后拿IBM的ITM的agent举例。想想很有意思:因为ITM的agent根本不是用java写的。在这世界上,找个理由太容易了...
|
|
返回顶楼 | |
发表时间:2011-01-07
正则 (最小长度为5)
|
|
返回顶楼 | |
发表时间:2011-01-08
三人行,必有我师! 抱着学习交流的心态就好了
没有必要看贬别人,有意思吗? |
|
返回顶楼 | |
发表时间:2011-01-08
这跟性能没关系,两种方式的功能也一样。
该情形,用异常做判断就不合适,Unchecked Exception说明是软件bug,要尽量避免的。 这是规范! 你就不要再固执了。 除非判断是否整形非常难于实现。 |
|
返回顶楼 | |
发表时间:2011-01-08
"验证String是不是整数,用异常作判断怎么了!” 这个主题真是又臭又长啊,能不能不谈这个了,,,
|
|
返回顶楼 | |
发表时间:2011-01-08
luckaway 写道 这跟性能没关系,两种方式的功能也一样。
该情形,用异常做判断就不合适,Unchecked Exception说明是软件bug,要尽量避免的。 这是规范! 你就不要再固执了。 除非判断是否整形非常难于实现。 Unchecked Exception说明是软件bug? 谁TM规定的? |
|
返回顶楼 | |
发表时间:2011-01-08
slaser 写道 luckaway 写道 这跟性能没关系,两种方式的功能也一样。
该情形,用异常做判断就不合适,Unchecked Exception说明是软件bug,要尽量避免的。 这是规范! 你就不要再固执了。 除非判断是否整形非常难于实现。 Unchecked Exception说明是软件bug? 谁TM规定的? 不一定就是程序的上bug,有可能资源、数据状态不正确引起的bug。我是没有看到那个JAVA规范里明确的说Unchecked Exception就一定是软件bug。我承认我有可能在误导大家 但是我希望你能举出一个例子,抛出Unchecked Exception不是一个bug的例子。 |
|
返回顶楼 | |
发表时间:2011-01-08
怎么弄?
异常判断也是一个办法. |
|
返回顶楼 | |