java断言
public class New{ public static void main(String[] args){ assert false; System.out.println("pass"); } }
cmd下输入命令
java New
输出为
pass
java默认是不开启断言的,这种情况下assert语句将会被跳过不执行。
为了执行assert语句,需要在添加-ea参数,cmd下重新输入命令
java -ea New
此时输出为
抛出一个异常,AssertError
java断言机制要求assert后面的布尔表达式必须返回一个true值,才会继续往下执行;如果不为true,则会抛出一个Exception,这是一个未检查异常。
assert还可以返回一个提示信息,写法如下
public class New{ public static void main(String[] args){ assert false:"is false"; //用一个冒号分隔 System.out.println("pass"); } }
断言是一个比较简单的机制,但实际编码中感觉不到有什么用处。