什么是斷言機制?
java的編譯階段檢查代碼!
假設要進行如下的計算:
double y = Math.sqrt(x);
為了讓程序健壯,你會先進行測試檢查並拋出異常而不讓x的值為負數。
if(x<0) throw new IllealArgumentException("x < 0");
但是,就算是測試結束了,以后實際運行時x的值不會小於0。這種測試代碼會一直保留在你的程序中。如果程序中有太多的
檢查,程序的運行就會慢好多。
如果在測試階段會有這種檢查,而在發布階段能自動刪除這些東西。該多好! 這就是斷言機制。
斷言的使用表達式:
assert 條件: 表達式
滿足條件執行下行代碼,不滿足條件執行表達式
public class Test1 { public static void main(String[] args) { int i1 = 1; int i2 = 0; //滿足條件不執行,不滿足執行 assert i2!=0:"i2變量現在是" + i2; int a = i1/i2; } }
在Eclipse中如何開啟斷言?
window-->perference-->java-->installed JreS -->edit-->default Vm arguments : -ea