ClassCastExceptionClassCastException
Un objet est casté vers un type dont il n'est pas une instance.
Causes de cette erreur
Le type à l'exécution de l'objet n'est pas compatible avec le type cible du cast. Cela survient souvent lors d'un downcasting depuis une superclasse ou lorsque les collections contiennent des types mixtes.
Comment la corriger
Utilisez instanceof pour vérifier le type avant de caster. Utilisez les génériques pour garantir la sécurité de type à la compilation. Examinez la hiérarchie des classes pour vous assurer que le cast est valide.
Exemple
Object obj = "hello";
Integer i = (Integer) obj;Codes d'erreur associés
ClassNotFoundExceptionClassNotFoundException
Une classe est introuvable dans le classpath à l'exécution.
IllegalArgumentExceptionIllegalArgumentException
Une méthode reçoit un argument qui n'est pas valide selon la plage ou le format attendus.
NumberFormatExceptionNumberFormatException
Une chaîne ne peut pas être analysée comme un nombre.
CloneNotSupportedExceptionCloneNotSupportedException
La méthode clone() est appelée sur un objet dont la classe n'implémente pas Cloneable.
NoSuchFieldErrorNoSuchFieldError
Un champ est référencé à l'exécution mais n'existe pas dans la classe.
IllegalThreadStateExceptionIllegalThreadStateException
Une opération de thread est effectuée alors que le thread n'est pas dans un état approprié.