java中的assert关键字

这一生的挚爱 提交于 2019-12-18 19:09:27

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

因为我们平时不会用java自带的assert断言,基本都是junit之类的成熟框架,之所以会想到这个,是因为在java9的ArrayDeque中看到的如下的源码:

assert既然是为了调试测试程序用,应该不在正式生产环境下用吧,但是这个源码中为什么会有呢?

assert使用的方式,有如下的方式:

1、assert <boolean表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。

2、assert <boolean表达式> : <错误信息表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。

当然默认jvm是没有开启断言的,比如Idea可以配置改成这样,eclipse估计也是差不多的,开关-enableassertions或-ea来开启:

比如我写个如下的例子:

输出:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!