考虑下面的代码:Java是“缓存”匿名类吗?
for(int i = 0;i < 200;i++)
{
ArrayList<Integer> currentList = new ArrayList<Integer>() {{
add(i);
}};
// do something with currentList
}
- 将如何处理的Java类的
currentList
? - 对于200个物体中的每一个,它会认为它是不同的类吗?
- 即使在第一个对象被创建后它会是性能问题吗?
- 它以某种方式缓存它吗?
我只是好奇:)
Afaik匿名类是一个简单的类,只有一个生成的名称。而已。缓存与类加载器中的每个类一样执行。 – ZeissS 2010-01-12 17:10:06
实际上这会产生一个编译器错误:'我'不是最终的,这对于循环计数器来说是个坏主意。但一个很好的问题! – 2010-01-12 19:10:43