在 IntelliJ IDEA 中,assert 断言默认是不会生效的,因为 JVM 默认是关闭断言功能的。需要手动开启。
下面按 常见场景 给你说明 ✅
assert condition;
// 或
assert condition : "错误信息";
如果断言失败,会抛出 AssertionError。
⚠️ 前提:必须在 JVM 启动参数中启用断言
在对应配置中:
-ea
ea= enable assertions
重新运行程序,assert 就会生效。
public class Test {
public static void main(String[] args) {
int a = 5;
assert a == 10 : "a 不等于 10";
}
}
未加 -ea → 没有任何反应
加上 -ea → 抛出:
Exception in thread "main" java.lang.AssertionError: a 不等于 10
-ea:com.example.util
-ea:com.example.TestClass
-da
Java 规范就是 默认关闭断言
不配置 JVM 参数 → 永远不生效
✅ 适合:
❌ 不适合:
✅ 生产环境推荐:
if (condition) {
throw new IllegalArgumentException("xxx");
}
IDEA 中使用 assert,只需在 Run Configuration 的 VM options 中加上
-ea即可。
如果你愿意,我也可以帮你:
assert vs if + throw免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。