Tenemos un caché (Map
) con objetos de la clase TestClass
. Otra cargador de clase inicializa/cargas TestClass
en tiempo de ejecución de nuevo, por lo que a continuación se tiró un código ClassCastException
:La clase A no es igual a la clase A
TestClass obj1 = (TestClass)map.get("key"); // throws a ClassCastException
ClassCastException when casting to the same class
De acuerdo, entiendo este problema hasta este punto.
Por lo tanto, estaba tratando de encontrar información de antecedentes por qué TestClass.class
no es igual a TestClass.class
. Supongo que el cargador de clases diferente establece un ID diferente para el ReferenceType? ¿Alguien capaz de explicarme el trasfondo?
mejor que he encontrado: http://www.objectsource.com/j2eechapters/Ch21-ClassLoaders_and_J2EE.htm