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