关于if语句,关于try-catch不得不说的思考
来源:互联网 发布:谷歌学术镜像 知乎 编辑:程序博客网 时间:2024/04/29 17:21
在我们判断变量的时候通常要做3次判断,简单举个例子吧
1.判断是否存在
if(str==null)
2.判断长度是否为零
if(str.length()==0)
3.判断是否能转换成自己需要的格式(这里整型为例)
if(str.matches("[0-9]+"))那么问题来了,该如何来写呢?
方法一:
if(str!=null){if(str.length()!=0){if(str.matches("[0-9]+")){System.out.println("成功");}else{System.out.println("无法转换");}}else{System.out.println("空串");}}else{System.out.println("空指针");}这种写法,我只能说3个字!非人类!!可读性最差,写起来最麻烦!
方法二:
try{if(Integer.parseInt(str)>0){System.out.println("成功");}}catch(NullPointerException npe){System.out.println("空指针异常");}catch(KongZiFuChuanException kzfce){System.out.println("空串异常");}catch(NumberFormatException nfe){System.out.println("无法转换异常");}这样写的话,可读性提高了,但是在创建异常对象的时候是会调用栈的,对性能会有影响!(请忽略那个空串异常,随意起的名字,毕竟没有这个异常)
方法三:
if(str==null){System.out.println("空指针");return ;}if(str.length()==0){System.out.println("空串");return ;}if(!str.matches("[0-9]+")){System.out.println("无法转换");return ;}这是标准写法,按照机器执行代码的顺序一步步执行,可读性高,堪称完美!
相信大家都有自己的见解了!
以上!
0 0
- 关于if语句,关于try-catch不得不说的思考
- 不得不说的,关于struts2
- 关于递归,不得不说的
- 关于try-catch-finally的一点思考
- 关于Puppet不得不说的故事
- 关于生命周期不得不说的事儿
- 关于数据仓库不得不说的事儿
- 关于try-catch-finally
- 关于 try catch
- 关于try catch(...)
- 关于 try/catch
- 关于throw try catch
- 关于try catch(...) (转)
- 笔记:关于try,catch
- 关于java中的try-catch-finally语句和return
- 关于java中的try-catch-finally语句和return
- 关于java中的try-catch-finally语句和return
- 关于java中的try-catch-finally语句和return
- 1193 -- 小周的种田梦
- ListView的Item中的按钮点击事件
- hdu3530 Subsequence(单调队列)
- 1194 -- 爱走楼梯的小胖
- 维护x的秩
- 关于if语句,关于try-catch不得不说的思考
- UE4 Command-Line Arguments
- Log4j学习
- 1195 -- Good luck and have fun
- pidof
- 1196 -- S1+S2
- Android-本地方法与Java相互调用-自定义ProgressBar(锅炉压力监测例子)/NDK-JNI开发实例(七)
- 常用函数
- android LinearLayout设置selector不起作用解决