在Eclipse中设置和使用断言
方法很简单。项目属性 - Run - Debug Settings- arguments的VM arguments里面加上-ea即可
或者:- Run - Debug Configurations - arguments的VM arguments里面加上-ea即可
同理的,如果需要输入程序参数,则在Program arguments里面输入你要代入的参数即可。
程序中包含了assert的话,你要用javac -source 1.4 xxx.java来编译,否则编译器会报错的。要想让assert得部分运行的话,要使用java -ea xxx来运行,否则包含assert得行会被忽略。下面我们运行
javac -source 1.4 AssertTest.java
java -ea AssertTest
int x=10;
System.out.println("Testing Assertion that x==100");
assert x=100:"Out assertion failed!";
System.out.println("Test passed!");
如果编译时未加 -source1.4,则编译通不过
在执行时未加 -ea 时输出为
Testing Assertion that x==100
Test passed
jre忽略了断言的旧代码,而使用了该参数就会输出为
Testing Assertion that x==100
Exception in thread "main" java.lang.AssertionError: Out assertion failed!
at AssertExampleOne.main(AssertExampleOne.java:6)