5

您可以assertClassLoader.

但是您如何确定它们是否已启用?

(我想采用一些代码路径,仅在启用断言的情况下调用 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 回答