Java assert断言用法

Java assert断言用法

观前提示:

本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。

1.简介

编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。

2.用法

在JAVA SE 1.4开始引用的assert关键字,在默认情况下是关闭的,如果想要开启断言,需要用开关-enableassertions或-ea来开启。

两种用法:

  1. assert <boolean表达式>
    如果 <boolean表达式>为true时,程序正常执行。
    如果 <boolean表达式>为false时,则抛出java.lang.AssertionError,并且终止程序。

  2. assert <boolean表达式> : <错误信息>
    如果 <boolean表达式>为true时,程序正常执行。
    如果 <boolean表达式>为false时,则抛出java.lang.AssertionError,输出信息为 <错误信息>,并且终止程序。

3.例子

测试代码 Test.java

package testAssert;

public class Test {
    
    

    public static void main(String[] args) {
    
    

        assert true;
        System.out.println("assert true 断言通过");

        assert false : "assert false 断言失败";
        System.out.println("assert false 断言通过");
    }
}

在未开始-ea开关的情况下,结果为
在这里插入图片描述
若想要开启断言,需要在VM options配置-ea或-enableassertions
在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 11858654 查看本文章

开启-ea开关后,运行结果为
在这里插入图片描述

4.总结

  1. assert与junit相似,但是功能性却远远不如junit,推荐大家尽量避免使用assert。

  2. assert断言失败程序便会退出,在实际生产环境中通常是对异常捕获处理来解决问题,如果使用断言,断言失败则意味着系统挂掉。

  3. assert调试程序时,现在主流的Java IDE工具默认是关闭-ea开关,需要开启-ea开关才能使用,对于Java Web应用而言,需要改变Web应用运行配置参数,对于程序的部署十分不便。

猜你喜欢

转载自blog.csdn.net/weixin_43611145/article/details/106998074