ClassCastExceptionClassCastException
Obiekt jest rzutowany na typ, którego nie jest instancją.
Co powoduje ten błąd
Typ obiektu w czasie wykonania nie jest zgodny z typem docelowym rzutowania. Zdarza się to często przy rzutowaniu w dół (downcast) z nadklasy lub gdy kolekcje zawierają elementy różnych typów.
Jak to naprawić
Użyj instanceof, aby sprawdzić typ przed rzutowaniem. Stosuj typy generyczne, aby zapewnić bezpieczeństwo typów w czasie kompilacji. Przejrzyj hierarchię klas, aby upewnić się, że rzutowanie jest prawidłowe.
Przykład
Object obj = "hello";
Integer i = (Integer) obj;Powiązane kody błędów
ClassNotFoundExceptionClassNotFoundException
Klasy nie można znaleźć na ścieżce klas (classpath) w czasie wykonania.
IllegalArgumentExceptionIllegalArgumentException
Metoda otrzymuje argument, który jest nieprawidłowy dla oczekiwanego zakresu lub formatu.
NumberFormatExceptionNumberFormatException
Ciąg znaków nie może zostać sparsowany jako liczba.
CloneNotSupportedExceptionCloneNotSupportedException
Metoda clone() jest wywoływana na obiekcie, którego klasa nie implementuje Cloneable.
NoSuchFieldErrorNoSuchFieldError
W czasie wykonania odwołano się do pola, które nie istnieje w klasie.
IllegalThreadStateExceptionIllegalThreadStateException
Operacja na wątku jest wykonywana, gdy wątek nie jest w odpowiednim stanie.