アサーション(assert)の機能は、プログラム実行時にはデフォルト設定で無効になっているため、有効にする必要があります。
Eclipseで有効にするには、VM引数に「-enableassertions」又は「-ea」と記述します。
assert文の構文は以下のとおりです。書き方は3パターンあります。
Java
assert 条件式; //パターン①
assert 条件式 : 引数; //パターン②
assert (条件式) : (引数);//パターン③
条件式にはboolean値を返す式を指定します。
結果がFalseの場合にのみ、java.lang.AssertionError
が発生します。
パターン③のように、条件式や引数を()で括る記述も可能です。
パターン①の実行例です。
Java
public static void main(String[] args) {
int a,b,c;
a = 100;
b = 200;
c = a + b;
assert c ==30;
}
実行結果は以下のとおりです。
実行結果
Exception in thread "main" java.lang.AssertionError
at test.testOfAssertion.main(testOfAssertion.java:11)
条件式にはc==30
と書きましたが、実際は100+200=300となるため、assertの結果はFalseとなりjava.lang.AssertionError
が発生します。
パターン②の実行例です。
Java
public static void main(String[] args) {
int a,b,c;
a = 100;
b = 200;
c = a + b;
assert c ==30: "30ではありません。";
}
実行結果は以下のとおりです。
実行結果
Exception in thread "main" java.lang.AssertionError: 30ではありません。
at test.testOfAssertion.main(testOfAssertion.java:11)
引数を与えてみました。そのまま出力されることがわかりました。
以上で記事の解説はお終い!
もっとJavaやSpringを勉強したい方にはUdemyがオススメ!同僚に差をつけよう!