Java语法糖
发布时间:2020-12-14 16:29:28 所属栏目:Java 来源:网络整理
导读:我今天碰到这个代码块,我不知道它是如何工作的.我知道如何做匿名类,但我习惯于看到一个方法签名,而不只是一对大括号.这些大括号之间的代码是否放入静态块?它是否进入构造函数?还是别的东西? conext.checking(new Expectations() { { // - what does this
我今天碰到这个代码块,我不知道它是如何工作的.我知道如何做匿名类,但我习惯于看到一个方法签名,而不只是一对大括号.这些大括号之间的代码是否放入静态块?它是否进入构造函数?还是别的东西?
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"); }}; 我认为其实是稍微更可读. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |