0
点赞
收藏
分享

微信扫一扫

【Java基础】——断言assert使用


前言         

    assert是Java中关键字,表示断言。在jdk1.4之后引入的,编译器默认不开启断言。与使用assertEquals,assertNotNull类似的方法不一样,因为他们来源于org.junit.Assert,在不引入jar的前提不能使用。而assert是Java自带,仅在开发和测试阶段使用。

    在一个具有自我保护能力的程序中,确信某个属性符合要求,并且代码的执行依赖于这个属性。我们希望属性的调用者提供一个正确的数据,还是希望进行检查,以免避免数据错误造成的问题。

 提供两种解决方案

1、throw new Exception

    但是上述代码会一直保留在程序中,即使测试完毕后也不会自动删除。如果程序中含有大量的这种检查,程序运行起来会比较慢。当然小编还提供第二种解决方案

2、使用断言

    断言机制在测试阶段向代码插入一些检查语句。在代码发布的时候,这些插入的检测语句会自动地移走。

assert 两种使用形式

1、assert 条件;

2、assert 条件:表达式;

    两种形式均会对传入的表达式进行检查,如果结果为false,会抛出AssertionError异常,在第二种形式中,表达式将被传入AssertionError的构造器,并转化为一个消息字符串。


例如:

1、检查x是否为非负数,简单的判断使用方式一

assertx>=0;

2、想要把x的实际显示出来,可以把x的值传给AssertionError对象,从而可以在后面显示出来。

assertx>=0:x;

总结 


文章就要是对比断言和传统抛异常方式的不同,以及断言的使用方式,关于如何开启断言,以及断言的深入使用,会在之后的文章继续分享。


   小编也是刚开始使用断言,如有错误之处,欢迎大家拍砖,不胜感激

举报

相关推荐

0 条评论