一つは、次のとおりです。アサーションはAssertionError
を投げずに を有効にしてきたwheatherアサーションが有効になっているかどうかをプログラムでテストする方法は? OCPのJava SE 6プログラマー実践試験から正しい答えの
あなたがプログラムでテストすることができます。
どうすればいいですか?
一つは、次のとおりです。アサーションはAssertionError
を投げずに を有効にしてきたwheatherアサーションが有効になっているかどうかをプログラムでテストする方法は? OCPのJava SE 6プログラマー実践試験から正しい答えの
あなたがプログラムでテストすることができます。
どうすればいいですか?
を使用する必要がありますね。
私はあなたが私はこれが "公式" の方法であることを確認していないこの
boolean assertOn = false;
// *assigns* true if assertions are on.
assert assertOn = true;
を使用Class.desiredAssertionStatus()
http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#desiredAssertionStatus()
OracleのJavaチュートリアルがそれを行う方法についての情報を提供しています...
http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html
チュートリアル
7からの抜粋アサート状態を照会するための構造を提供しないのはなぜクラスを含む?
このような構成では、複雑なアサーション コードをインライン展開することが奨励されますが、これは悪いことです。また、現在のAPIの上のアサーションステータスが クエリに簡単です、あなたが必要と感じた場合:
boolean assertsEnabled = false; assert assertsEnabled = true; // Intentional side-effect!!! // Now assertsEnabled is set to the correct value
RuntimeMXBean mx = ManagementFactory.getRuntimeMXBean();
boolean assertionsEnabled = mx.getInputArguments().contains("-ea");
これは、AssertionErrorをスローします。 – Thilo
'true'は' false'です;) –
ああ、 '='を '=='と読んでください。そうですか。賢い – Thilo