断言的使用方法.doc

断言的使用方法.doc

ID:59355465

大小:34.00 KB

页数:4页

时间:2020-09-04

断言的使用方法.doc_第1页
断言的使用方法.doc_第2页
断言的使用方法.doc_第3页
断言的使用方法.doc_第4页
资源描述:

《断言的使用方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、assert是在J2SE1.4中引入的新特性,assertion就是在代码中包括的布尔型状态,程序员认为这个状态是true。一般来说assert在开发的时候是检查程序的安全性的,在发布的时候通常都不使用assert。在1.4中添加了assert关键字和java.lang.AssertError类的支持。首先,我们有必要从一个例子说起assertpublicclassAssertTest{publicstaticvoidmain(String[]args){AssertTestat=newAssertTest();at.assertMe(true);at.assertM

2、e(false);}privatevoidassertMe(booleanboo){assertboo?true:false;System.out.println(truecondition);}}程序中包含了assert的话,你要用javac-source1.4xxx.java来编译,否则编译器会报错的。要想让assert得部分运行的话,要使用java-eaxxx来运行,否则包含assert得行会被忽略。下面我们运行javac-source1.4AssertTest.javajava-eaAssertTest看看结果的输出是:trueconditionExcepti

3、oninthreadmainjava.lang.AssertionErroratAssertTest.assertMe(AssertTest.java:13)atAssertTest.main(AssertTest.java:7)当我们运行at.assertMe(true)得时候,由于assertboo?true:false相当于asserttrue;因此没有任何问题,程序往下执行打印出truecondition,但是执行at.assertMe(false)的时候相当于assertfalse,这个时候解释器就会抛出AssertionError了,程序就终止了。大家必须

4、清楚AssertionError是继承自Error得,因此你可以不再程序中catch它的,当然你也可以在程序中catch它然后程序可以继续执行。例如:publicclassAssertTest{publicstaticvoidmain(String[]args){AssertTestat=newAssertTest();try{at.assertMe(true);at.assertMe(false);}catch(AssertionErrorae){System.out.println(AsseriontErrorcatched);}System.out.printl

5、n(goon);}privatevoidassertMe(booleanboo){assertboo?true:false;System.out.println(truecondition);}}assert还有另外一种表达的方式,就是assertexp1:exp2;其中exp1是个boolean返回值得表达式,而exp2可以是原始的数据类型或者对象都可以例如:booleanboo=true;Stringstr=null;assertboo=false:str=error;我们刚开始讲得assertexp1得形式,当exp1是false得时候,AssertionErr

6、or得默认构造器会被调用,但是assertexp1:exp2这样的形式,当exp1为true的时候后面exp2被或略,如果false的话,后面的表达式的结果会被计算出来并作为AssertionError得构造器参数。看下面的例子:publicclassAssertTest{publicstaticvoidmain(String[]args){AssertTestat=newAssertTest();at.assertMe(true);at.assertMe(false);}privatevoidassertMe(booleanboo){Strings=null;ass

7、ertboo?true:false:s=helloworld;System.out.println(truecondition);}}运行的时候会得到这样的结果trueconditionExceptioninthreadmainjava.lang.AssertionError:helloworldatAssertTest.assertMe(AssertTest.java:14)atAssertTest.main(AssertTest.java:7)Assert最好不要滥用,原因是assert并不一定都是enable的,下面两种情况就不应该用asser

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。