创建许多匿名内部类是否存在内存或速度问题?在下面的代码中,我喜欢experiment1的简洁性,但是我担心在高度迭代的循环中包含匿名类创建会使得某些维度的性能失去实验2。
public class Test {
interface Task {
public void do();
}
public void experiment1 {
for (int i = 0; i < 1000000; i++) {
Task inner = new Task() {public void do() {/* stuff */}}
}
}
public void experiment2 {
class InnerClass implements Task {
public void do() {/* stuff */}
}
for (int i = 0; i < 1000000; i++) {
Task inner = new InnerClass();
}
}
}