ClassCastExceptionClassCastException
Un objeto se castea a un tipo del que no es una instancia.
Qué causa este error
El tipo en tiempo de ejecución del objeto no es compatible con el tipo destino del cast. Esto suele ocurrir al hacer downcasting desde una superclase o cuando las colecciones contienen tipos mixtos.
Cómo solucionarlo
Usa instanceof para comprobar el tipo antes de castear. Usa genéricos para garantizar la seguridad de tipos en tiempo de compilación. Revisa la jerarquía de clases para asegurarte de que el cast es válido.
Ejemplo
Object obj = "hello";
Integer i = (Integer) obj;Códigos de Error Relacionados
ClassNotFoundExceptionClassNotFoundException
No se puede encontrar una clase en el classpath en tiempo de ejecución.
IllegalArgumentExceptionIllegalArgumentException
Un método recibe un argumento que no es válido para su rango o formato esperado.
NumberFormatExceptionNumberFormatException
Una cadena no puede analizarse como número.
CloneNotSupportedExceptionCloneNotSupportedException
Se llama al método clone() sobre un objeto cuya clase no implementa Cloneable.
NoSuchFieldErrorNoSuchFieldError
Se referencia un campo en tiempo de ejecución pero no existe en la clase.
IllegalThreadStateExceptionIllegalThreadStateException
Se realiza una operación sobre un hilo cuando este no se encuentra en un estado apropiado.