ClassCastExceptionClassCastException
Een object wordt gecast naar een type waarvan het geen instantie is.
Wat veroorzaakt deze fout
Het runtimetype van het object is niet compatibel met het doeltype in de cast. Dit komt vaak voor bij downcasten vanuit een superklasse of wanneer collecties gemengde typen bevatten.
Hoe op te lossen
Gebruik instanceof om het type te controleren vóór de cast. Gebruik generics voor typeveiligheid tijdens compilatie. Controleer de klassenhiërarchie om te verzekeren dat de cast geldig is.
Voorbeeld
Object obj = "hello";
Integer i = (Integer) obj;Gerelateerde foutcodes
ClassNotFoundExceptionClassNotFoundException
Een klasse kan tijdens runtime niet op het classpath worden gevonden.
IllegalArgumentExceptionIllegalArgumentException
Een methode ontvangt een argument dat niet geldig is voor het verwachte bereik of formaat.
NumberFormatExceptionNumberFormatException
Een string kan niet worden geparsed als getal.
CloneNotSupportedExceptionCloneNotSupportedException
De methode clone() wordt aangeroepen op een object waarvan de klasse Cloneable niet implementeert.
NoSuchFieldErrorNoSuchFieldError
Een veld wordt tijdens runtime gebruikt maar bestaat niet in de klasse.
IllegalThreadStateExceptionIllegalThreadStateException
Een threadbewerking wordt uitgevoerd terwijl de thread zich niet in de juiste toestand bevindt.