- 簡易版(必為)boolean值,範例如下
- assert(x == 1);
- assert(b);
- assert true;
- 除錯版,後者一定要有回傳值(前者為boolean值(+冒號+)後者會幫忙轉成String後印出,就像是呼叫System.out.pritnln(),然後 顯示在stackTrace內,會多一點除錯的線索
- assert(x == 1) : x;
- assert(x == 1) : aReturn(); assert(x == 1) : new ValidAssert();
- Java 1.4 前,assert可以拿來當identifier。假如使用Java1.3 編譯,則assert當作identifier則會出現警告 ; 但如果使用assert當作keyword,則編譯會失敗!
- 1.4 後,只能是key保留字。若當作identifier編譯會失敗。
若檔案內已經把assert當作identifier使用,則可以使用較低版本編譯:
javac -source 1.4 CH10/Test7.java
假如欲使用Java 6的規則,可使用-source 1.6 或 -source 6 (兩者一樣)
javac -source 1.6 CH10/Test7.java javac -source 6 CH10/Test7.java
執行時開啟assert:
預設是關閉的,若要打開可加入-ea或-enableassertions啟動:
java -ea com.geeksanonymous.TestClass
java -enableassertions com.geeksanonymous.TestClass
關閉是-da或-disableassertions:
java -da com.geeksanonymous.TestClass
java -disableassertions com.geeksanonymous.TestClass
沒有留言:
張貼留言