什么是Java中的断言语句?

Vij*_*wal 5 java assert

可能重复:
断言做了什么?

请至少举一个例子给我一些细节.

Noe*_*l M 9

试试这个:

public class AssertionTest {

  public static void main(String args[]) {
     boolean assertTest = true;
     assert assertTest;
     assertTest = false;
     assert assertTest;
  }
}
Run Code Online (Sandbox Code Playgroud)

如果编译并运行它,您应该知道断言语句的工作原理.

更新:
正如在注释中正确指出的那样,在编译之后,你将其运行为java -ea AssertionTest- 该-ea标志启用断言.

  • 你必须用旗帜运行它:-ea btw (2认同)

Sac*_*hag 1

断言是 Java™ 编程语言中的一条语句,使您能够测试对程序的假设。例如,如果您编写一个计算粒子速度的方法,您可能会断言计算出的速度小于光速。

每个断言都包含一个布尔表达式,您认为该断言执行时该表达式将为 true。如果不正确,系统将抛出错误。通过验证布尔表达式确实为真,断言证实了您对程序行为的假设,增加了您对程序没有错误的信心。

查看下面的链接以获取更多详细信息和示例 -

http://download.oracle.com/javase/1.4.2/docs/guide/lang/assert.html

http://www.roseindia.net/javacertification/scjp5/assertionsexample.shtml