アサーションの概念
アサーションは、「ここでの値は5を超える」などのプログラムの仮定を証明およびテストするために使用されます。
アサーションは、実行時にコードから完全に削除できるため、コードの実行速度には影響しません。
アサーションの使用
主張する方法は2つあります。
1つは<<ボレアン式>>です。
もう1つは、<< bolean expression >>:<<詳細説明>>です。
ブール式の値が誤っている場合、AssertionErrorの例外がスローされます。
public class assertexample {public static void main(string [] args){int x = 10; / *無視 *} system.out.println( "x == 10"); :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::づ 火::::: ::::::::::::::
新しいキーワードが導入されているため、コンパイル中に追加のパラメーターを追加する必要があります。コード:
Javac -Source 1.4 Assertexample.java
上記のプログラムは、アサーション関数を実行するときに追加のパラメーターを使用する必要があります(および数値コマンドラインパラメーターが必要です)。
Java -ea assertexample 1
プログラムの出力は次のとおりです。
スレッド "main" java.lang.assertionerrorのx == 10exceptionのテストアサーション:私たちの主張failedat assertexample.main(assertexample.java:20)
入力パラメーターは10に等しくないため、アサーション関数により、プログラムが実行時にアサーションエラーが発生します。ブール値が使用されると主張します。その値が真でない場合、アサーションエラーがスローされ、プログラムが終了します。
推奨される使用法を主張します
以下を含むメソッドの内部ロジックを検証するために使用されます。
注:パブリックメソッド内で前提条件を確認することはお勧めしません。
ランタイムブロッキングアサーション
ランタイム中のアサーションをブロックするには、次の方法を使用できます。
Java無効化またはJava DAクラス名を実行するときにアサーションを許可するには、次の方法を使用できます。
Java InableasSertionsまたはJava EAクラス名