在JDK1.4中增加了Assert的新功能,用于开始、调试时期的错误检测,它可以通过-ea 的JVM参数关闭,关闭以后对程序的性能没有任何影响。
最好的教程 请见:http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html
简单总结下几点注意点
- 不要在public方法中使用assert来代替参数检查。公有方法的参数检查应该有该方法通过条件判断等方式完成,从而抛出理想的异常,而其只会抛出:AssertionError,对异常并不是很明确。AssertionError 继承自Error。
它的语法有两种:
-
assert Expression1 :
Expression1 为条件判断,当其为true时程序正常,为false时,程序抛出AssertError。 -
assert Expression1 : Expression2 :Expression
1同上,
Expression2必须是有返回值的函数或者其它字符串、变量等。
3. 编译: javac -source 1.4 MyClass.java
启动: java -ea MyClass
Eclipse的话,需要在Run=>JVM Argements 中增加-ea参数
在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言检查,则需要用开关-enableassertions或-ea来开启。
assert关键字语法很简单,有两种用法:
1、assert <boolean表达式>
如果<boolean表达式>为true,则程序继续执行。如果为false,则程序抛出AssertionError,并终止执行。
2、assert <boolean表达式> : <错误信息表达式>
如果<boolean表达式>为true,则程序继续执行。如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。
也就是你需要在执行java命令时加入参数-ea,如
java -ea xxx
现在来看,个人是不推荐使用的。