5

で有効/無効assertにできClassLoaderます。

しかし、それらが既に有効になっているかどうかをどのように判断できますか?

(アサーションが有効な状態で JVM が呼び出された場合にのみ、コストのかかるチェックを実行するコード パスを使用したいと考えています。)

4

3 に答える 3

9
public static boolean areAssertsEnabled() {
  boolean assertsEnabled = false;
  assert assertsEnabled = true; // Intentional side effect!!!
  return assertsEnabled;
}
于 2013-05-28T09:13:06.250 に答える
5
boolean assertEnabled = false;

try {
   assert false;
} catch (AssertionError e) {
   assertEnabled = true;
}
于 2013-05-28T09:13:32.443 に答える
4
ManagementFactory.getRuntimeMXBean().getInputArguments().contains("-ea");
于 2013-05-28T09:12:48.993 に答える