【发布时间】:2015-09-14 21:11:33
【问题描述】:
考虑以下代码:
for(int i = 0;i < 200;i++)
{
ArrayList<Integer> currentList = new ArrayList<Integer>() {{
add(i);
}};
// do something with currentList
}
- Java 将如何处理
currentList的类? - 对于 200 个对象中的每一个,它会认为它是一个不同的类吗?
- 即使在创建第一个对象之后,它是否会影响性能?
- 它是否以某种方式缓存它?
我只是好奇:)
【问题讨论】:
-
Afaik 匿名类是一个只有生成名称的简单类。而已。与类加载器中的每个类一样执行缓存。
-
实际上这会产生一个编译器错误:
i不是最终的,这对于作为循环计数器来说是个坏主意。但这是个好问题!
标签: java performance anonymous-class