【发布时间】:2011-09-17 09:03:39
【问题描述】:
我很好奇,我经常看到这种东西:
Arrays.sort(array, new Comparator<Integer>() {
public int compare(Integer a, Integer b) {
return Math.abs(a) < Math.abs(b);
}
});
由于这里创建的匿名类没有实例变量,标准 JDK 编译器是否足够聪明,只实例化该匿名类一次并重用它?还是建议在静态字段中实例化该匿名类并始终传递静态 Comparator 对象?
更新:当我说“JDK 编译器”时,我指的是 JIT 部分。以上也只是一个例子。我真的很好奇我是否应该作为最佳实践为上述创建静态字段而不是内联匿名类实例化。在某些情况下,性能/资源使用问题可以忽略不计。但其他情况可能不是……
【问题讨论】:
标签: java comparator anonymous-class