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");
    }

}

断言是一个比较简单的机制,但实际编码中感觉不到有什么用处。

原文地址:https://www.cnblogs.com/YESheng/p/3662118.html