java 断言
1.1 语法格式
Java 断言有两种使用方式:
// 简单形式 assert condition; // 带错误信息形式 assert condition : "Error message";
实战示例
public class AssertDemo {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
printElement(arr, 2); // 正常执行
printElement(arr, 5); // 触发断言
}
static void printElement(int[] arr, int index) {
assert index >= 0 && index < arr.length : "索引越界:" + index;
System.out.println("元素值:" + arr[index]);
}
}
▶️ 运行结果(启用断言后):
元素值:3
Exception in thread "main" java.lang.AssertionError: 索引越界:5
二、启用与禁用断言
启用方式
启用范围 命令格式
全部断言 java -ea MainClass
指定包 java -ea:com.example... MainClass
指定类 java -ea:com.example.Test MainClass
禁用方式
# 禁用所有断言
java -da MainClass
# 启用全部但禁用特定包
java -ea -da:com.example.utils... MainClass
IDE 配置(IntelliJ IDEA)
打开 Run/Debug Configurations
在 VM options 中添加:
-ea