Considere el siguiente código:¿Las clases anónimas en "caché" de Java son?
for(int i = 0;i < 200;i++)
{
ArrayList<Integer> currentList = new ArrayList<Integer>() {{
add(i);
}};
// do something with currentList
}
- ¿Cómo tratar la clase de Java de
currentList
? - ¿Considerará que es una clase diferente para cada uno de los 200 objetos?
- ¿Será un golpe de rendimiento incluso después de que se crea el primer objeto?
- ¿Lo está almacenando en caché de alguna manera?
Tengo curiosidad :)
Afaik an anonymous class es una clase simple con solo un nombre generado. nada mas. El almacenamiento en caché se realiza como con cada clase en el cargador de clases. – ZeissS
en realidad esto generará un error de compilación: 'i' no es final, lo que sería una mala idea para el contador de ciclos. ¡Pero una buena pregunta! –