- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我今天遇到了这段代码,但我不知道它是如何工作的。我知道如何制作匿名类,但我习惯于看到方法签名而不仅仅是一对大括号。这些大括号之间的代码是否放入静态 block 中?它会进入构造函数吗?还是完全不同?
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 map = new HashMap() {{
put("key1", "value1");
put("key2", "value2");
}};
我认为这实际上更具可读性。
关于Java 语法糖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866764/
对于NumericVector ,我可以将一个较小的 NumericVector 进行子集化通过使用 IntegerVector包含要子集化的位置。 例如假设x<-c(1,2,2,3,4,5) , i
我的 javascript 文件以配置开始... require.config({ baseUrl: 'scripts', paths: { 'code-mirror'
我的应用程序应该可以使用插件或通常称为糖的方式进行扩展。我会将它们放在 appname.app/Contents/sugars/sugarname.appnamesugar 下 这些是 bundle
我一直在尝试使用 Rcpp 在 C++ 中获取 vector 的等级。我使用了其他糖功能,例如 is_na(); C++中rank R函数有没有类似的糖函数。 Rcpp/ 中是否还有任何可用的 R 糖
我通过 Android Studio 使用 Sugar ORM 进行 Android 开发。 但我想我有一个非常相似的问题。如何将一个/多个结果查询显示为字符串或整数?我的实体看起来像这样: publ
入门读物: Prototypes as "classes" OO JS 按照上述模式,我创建如下库/API var Proto = { constructor: function () {
我在应用程序的第一个版本中使用了 SugarORM。现在,我正在开发第二个版本,它向数据库中添加了新表。 根据 SugarORM documentation “Sugar 会自动为新实体创建表,因此您
我是一名优秀的程序员,十分优秀!