2022年2月

Java 语言中的 assert 关键字

我们读有些 Java 代码的时候, 通常会遇到使用 assert 关键字的代码, 比如:
assert Thread.holdsLock(this);
那么这个 assert 在这里有什么用呢? 我们要不要使用它呢?

assert 是 JDK 1.4 引入的, 它通常有下面 2 种使用方式:
assert 以 boolen 值为结果的表达式;

assert 以 boolen 值为结果的表达式 : "某个字符串, 告诉为什么出错了";

默认情况下, 即便你们代码里写了 assert 关键字的代码, 它们也不会被执行. 通过下面 2 个启动参数, 我们可以控制是不是需要执行 assert 的代码:
-enableassertions-ea
-disableassertions-da

语法:

java [ -enableassertions | -ea  ] [:<package name>"..." | :<class name> ]

官方文档: https://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html