断言从JDK1.4版开始引入,它让开发期间测试假设,而没有付出为异常编写异常处理程序方面的代价,一旦程序完成开发,并全部部署,假设将从不会发生。
主要作用:因为在开发时对自己的假设非常肯定,所以不想花费时间来编写异常处理代码。断言让在开发期间测试你的假设。
private void method(int num){
assert(num>=0);//这里假定参数num是正数,如果不是真的将抛出一个AssertionError错误
useNum(num+x);
}
断言有两种形式:简单和非常简单。
非常简单:
private void doStuff(){
assert(y>x);
//其他代码
}
简单:
将通过表达式的值向错误跟踪栈中添加更多信息,提供了更多调式帮助信息。
private void doStuff(){
assert(y>x):”y is ”+y+” x is”+x;
//其他代码
}
运行时启用断言:
java –ea com.geeksanonymous.TestClass
运行时禁用断言:
java –da com.geeksanonymous.TestClass |