Java中的断言

来源:互联网 发布:java int 乘法 编辑:程序博客网 时间:2024/06/02 06:32
在JDK1.4之后,java中增加了断言的功能。断言就是肯定某一个结果的返回值是正确的,如果最终此结果的返回值是错误的,则通过断言检查肯定是会提示错误信息,断言的定义格式如下:
assert boolean表达式;
assert boolean表达式 : 详细的信息。

如果最终结果的返回值是true,则什么错误信息都不会提示。如果返回结果是false,则会提示错误信息。如果没有声明详细的描述,则系统会使用默认的的错误信息提示方式。
案例一:
public class Test {//从jdk1.4就出现了断言,断言就是肯定某一个结果的返回//值是正确的,如果最终此结果的返回值是错误的,则通过断言检查肯定会提示错误//信息,public static void main(String[] args){int x[] = {1,2,3};  //数组长度是3assert x.length == 0;   //这里明显错了}}
这个代码不会出现任何错误提示,原因是为什么呢?在java设计assert关键字,考虑到系统的应用,为了防止某些用户使用assert作为关键字,所以在程序正常运行时断言并不会起任何的作用,如果要想要让断言
起作用,则在使用java运行时应该加入以下参数:
-enableassertions      简写:-ea
编译程序:javac Test.java
运行程序:java -ea Test

如果是用Myeclipse开发工具的,默认是关闭此功能的,那怎么开启它呢?

右击你的项目名,选择properties。


通过上面的配置,就把断言打开了,接下来运行程序可以发现错误信息了。
上面的是按照默认的信息打印出来的。

断言虽然有检查运行结果的功能,但是在开发并不提倡使用断言。