2013-05-28 195 views

回答

5
boolean assertEnabled = false; 

try { 
    assert false; 
} catch (AssertionError e) { 
    assertEnabled = true; 
} 
4
ManagementFactory.getRuntimeMXBean().getInputArguments().contains("-ea"); 
7
public static boolean areAssertsEnabled() { 
    boolean assertsEnabled = false; 
    assert assertsEnabled = true; // Intentional side effect!!! 
    return assertsEnabled; 
} 
+2

不应该有一个catch在那里的情况下,断言被启用? – Will

+0

不,因为'assertsEnabled = true;'如果断言被启用,则断言成功。这是基于Oracle文档中的一个示例:http://docs.oracle.com/javase/1.4.2/docs/guide/lang/assert.html – kevin847

+2

+1 Nice答案。 –

相关问题