在 Java 中,断言(assert)默认是关闭的,需要手动开启。下面分情况说明如何开启和使用。
断言用于在开发和测试阶段检查程序中的“必然成立条件”,语法如下:
assert condition;
assert condition : "错误信息";
如果条件为 false,会抛出 AssertionError。
-ea 参数(最常用)java -ea MyApp
或
java -enableassertions MyApp
✅ 开启后,assert 才会生效。
# 只对某个包开启
java -ea:com.example... MyApp
# 对某个类开启
java -ea:com.example.Test MyApp
java -da MyApp
-ea
-ea
public class AssertDemo {
public static void main(String[] args) {
int a = 10;
assert a > 0 : "a 必须大于 0";
System.out.println("断言通过");
}
}
javac AssertDemo.java
java -ea AssertDemo
✅ 输出:
断言通过
如果断言失败:
assert false : "出错了";
会抛出:
Exception in thread "main" java.lang.AssertionError: 出错了
IllegalArgumentException)✅ 断言只用于:
Java 断言默认关闭,必须通过
-ea(enable assertions)参数开启。
如果你愿意,我也可以帮你对比 assert vs if + throw 的使用场景。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。