conext.checking(new Expectations() { { // <- what does this pair of braces do? oneOf(alarm).getAttackAlarm(null); } });
这相当于
Expectations exp = new Expectations(); exp.oneOf(alarm).getAttackAlarm(null); conext.checking(exp)
谁写的可能认为他没有声明一个变量(不是真的),或者它是更干净的代码(我不同意)是更有效率.
这些初始化器的主要用处是实例化映射,即:
Map map = new HashMap() {{ put("key1","value1"); put("key2","value2"); }};
我认为其实是稍微更可读.