转载

JAVA的断言 - Assert

断言是使用Java中的 assert 语句实现的。 在执行断言时,它被认为是正确的。 如果失败,JVM会抛出一个名为 AssertionError 的错误。 它主要用于开发过程中的测试目的。

assert 语句与布尔表达式一起使用,可以用两种不同的方式编写:

assert expression;
assert expression1 : expression2;
复制代码

示例

public class AssertTest {
    public static void main(String[] args) {
    
        int value = 15;
        assert value >= 20 : " Underweight";
        System.out.println("value is " + value);
    }
}
复制代码

输出:

value is 15
复制代码

可以看到 assert 语句并没有起作用,这是因为Java在执行程序的时候默认是不启动断言检查的,即所有的断言语句都将被忽略。

如果要开启断言检查,则需要使用 -enableassertions-ea JVM参数来开启;如果要手动忽略断言检查,则可以通过使用 -disableassertions-da JVM参数来忽略断言语句。

执行命令 java -ea AssertTest 开启断言后的输出:

Exception in thread "main" java.lang.AssertionError:  Underweight
	at AssertTest.main(AssertTest.java:11)
复制代码

使用第一种无错误信息提示的语法编写:

public class AssertTest {
    public static void main(String[] args) {

        int value = 15;
        assert value >= 20;
        System.out.println("value is " + value);
    }
}
复制代码

输出:

Exception in thread "main" java.lang.AssertionError
	at AssertTest.main(AssertTest.java:11)
复制代码
原文  https://juejin.im/post/5e0eaa0de51d4540e47ca159
正文到此结束
Loading...