使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识。
day050 使用断言(断言的概念、启用和禁用断言、使用断言完成参数检查、为文档假设使用断言)
在一个具有自我保护能力的程序中,断言很常用。
1.断言的概念
假设确信某个属性符合要求,并且代码的执行依赖于这个属性。例如,需要计算
double y=Math.sqrt(x);
我们确信,这里的X是一个非负数值。原因是:X是另外一个计算的结果,而这个结果不可能是负值;或者X是一个方法的参数,而这个方法要求它的调用者只能提供一个正整数。然而,还是希望进行检查,以避免让“不是一个数”的数值参与计算操作。当然,也可以抛出一个异常:
if(x<0) throw new I11egalArgumentException("x<0");
但是这段代码会一直保留在程序中,即使测试完毕也不会自动地删除。如果在程序中含有大量的这种检查,程序运行起来会相当慢。
断言机制允许在测试期间向代码中插入一些检査语句。当代码发布时,这些插人的检测语句将会被自动地移走。