public void foo()
{
assert false; /* Line 5 */
assert true; /* Line 6 */
}
断言在这做什么?我熟悉断言声明
答案 0 :(得分:10)
使用此关键字,我们断言此时某个条件为真。如果在运行时确实如此,则应用程序继续,否则将抛出AssertionError
。
您的代码应该在第5行抛出该错误。
请注意,默认情况下会禁用断言 - 您必须使用-ea
选项启动应用程序(“启用断言”)。
答案 1 :(得分:4)
是的,当给定表达式求值为AssertionError
时,它是一个抛出false
的关键字。它通常用于在运行时检测“不可能”的代码分支。
它有时也用于检查功能的输出。愚蠢的例子:
double square(double x) {
double result = x * x;
assert result >= 0;
return result;
}
您还可以指定错误消息,如下所示:
assert false : "Uh oh";
我认为运行时断言仅在使用java
选项启动-ea
程序时进行评估。
答案 2 :(得分:0)
主要用作Java Assertion用于应用程序的单元测试。它检查assert
关键字之后的条件,如果condition返回true,那么它将继续,否则会导致异常。
正如here所述:
“断言”陈述是其中的一部分 Java断言功能介绍于 Java 1.4。 Java断言功能 允许开发人员放置“断言” Java源代码中的语句有所帮助 单元测试和调试。