网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java 2 Micro Edition简介(四).
.Java SE 6中JDBC 4.0的增强特性.
.充分利用 EJB 使移动工作群体变得.
.TOMCAT3.1的安装与配置简要介绍.
.Robocode 基本原理之方向剖析.
.使用布局管理器 呈现生动的JAVA程.
.Jini技术综述.
.方便的HQL:Hibernate查询语言.
.[webservices开发]使用xfire开发.
.使用WebLogic JMX进行定制调.
.JUnit实战篇 (一).
.Java在Client/Server网络中的应用.
.利用Java Applet播放声音文件.
.JAVA连接SQLSERVER的例子.
.Struts开发指南之其他Web构架介绍.
.Effective java学习笔记8.
.java基础:遍历m取n的所有组合.
.JavaBeans 程序开发基础教程.
.SQRT2 属性.
.java1.5可读性评论.

短路运算符:提高性能和简化代码

发表日期:2008-1-5



  NullPointerException大概是最常见的RuntimeException。大量的开发工作花在尝试发现对象是否被赋值上,仅仅是为了检查它是否是null的。要解决这个问题,可以用一个if-null块来保护你的代码。例如:

if(obj != null) {
str = obj.toString( );
}
但是,当被保护的块象下面这样的时候,是有问题的:

if(obj.equals(newobj))
{
....
}
加上保护用的if-null块会变成这样:

if(obj != null) {
if(obj.equals(newobj)) {
....
}
}
当嵌套if块来处理null保护时显得很凌乱,这时可以试一下使用短路运算符。例如布尔“与”运算符,“&&”:

if((obj != null) && obj.equals(newobj) ) {
...
}
“短路”意味着运算符只对必要的部分求值,而不是整个表达式。假如变量“obj”等于null,就不会尝试对“obj.equals(newobj)”子句求值。这就对潜在的NullPointerException提供了保护。

布尔“或”运算符“”也有同样的特性,但它的用法和“与”短路运算相反。它不是当前面的子句取假值时提前中止求值,而是当前面的子句取真值时这样做。例如:

if((number==9) (doAnalysis(number) 〈 20) ) {
....
}
在上面的代码片断中,假如number等于9,它会中止if子句并且不会执行doAnalysis方法。虽然知道这一点很有用,但很可能你在不知道的情况下已经这样做了。

使用“或”短路运算符要注重的最重要的方面,是要确保你按照子句取真值的复杂性和可能性的顺序来排列它们。考虑下面三个子句:

A: 70%的情况下为真
B: 10%的情况下为真,但求值很耗时
C: 5%的情况下为真,但很轻易求值
排列if语句来避免不必要的工作:

if( A C B ) {
...
}
开发者善于利用短路运算符可以提高性能且简化代码。
上一篇:第一个JNI程序--HelloNative 人气:605
下一篇:动画小程序实现的基本步骤 人气:838
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐