Javaではあまり使われないキーワードassert


assertの基本的な使い方
転載先:https://www.cnblogs.com/wardensky/p/4307848.html
assertion(断言)はソフトウェア開発でよく使われるデバッグ方式であり、多くの開発言語ではC,C++やEiffelなどのメカニズムがサポートされているが、サポートの形式は異なり、言語そのものを通じて、ライブラリ関数を通じてなどある.また,理論的にはassertion方式によりプログラムの正確性を証明できるが,これはかなり複雑な作業であり,現在はまだ多くの実践的意義がない.
実装では、assertionはプログラム内の文であり、boolean式をチェックし、正しいプログラムはこのboolean式の値がtrueであることを保証しなければならない.この値がfalseの場合、プログラムが正しくない状態にあることを示すと、システムは警告して終了します.一般的にassertionは、プログラムの最も基本的で重要な正確性を保証するために使用されます.assertionチェックは通常、開発とテスト時にオンになります.パフォーマンスを向上させるために、ソフトウェアのリリース後、assertionチェックは通常オフになります.Javaにおけるassertionの実装について簡単に紹介します.
文法的には、assertionをサポートするためにJavaにキーワードassertが追加されました.次の2つの式があります.
1. assert expression1;
2. assert expression1: expression2;
    

expression 1はboolean式を表し、expression 2は基本タイプ、式、またはObjectを表し、失敗したときにエラー情報を出力します.
実行時にassertion機能をオフにすると、これらの文は何の役にも立たない.assertion機能がオンの場合、expression 1の値は計算され、その値がfalseの場合、文はAssertionErrorオブジェクトを強く放出します.
サンプルコードは次のとおりです.
package com.chzhao.test;

public class AssertDemo {

    public static void main(String[] args) {
        
        test1(-5);
        test2(-3);
    }
    
    private static void test1(int a){
        assert a > 0;
        System.out.println(a);
    }
    private static void test2(int a){
        assert a > 0 : "something goes wrong here, a cannot be less than 0";
        System.out.println(a);
    }
}

eclipseの関連設定
eclipseでは、関連する設定をオンにする必要があります.具体的には設定を好み、Installed JREsを選択し、関連バージョンを選択し、editをクリックし、Default VM argumentsに-eaを入力すればよい.ea:enable assertions