在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}; //数组长度是3
assert x.length == 0; //这里明显错了
}
}
这个代码不会出现任何错误提示,原因是为什么呢?在java设计assert关键字,考虑到系统的应用,为了防止某些用户使用assert作为关键字,所以在程序正常运行时断言并不会起任何的作用,如果要想要让断言
起作用,则在使用java运行时应该加入以下参数:
-enableassertions 简写:-ea
编译程序:javac Test.java
运行程序:java -ea Test
如果是用Myeclipse开发工具的,默认是关闭此功能的,那怎么开启它呢?
右击你的项目名,选择properties。
通过上面的配置,就把断言打开了,接下来运行程序可以发现错误信息了。
上面的是按照默认的信息打印出来的。
断言虽然有检查运行结果的功能,但是在开发并不提倡使用断言。