java.lang.ClassCastException: class A cannot be cast to class B
An object was cast to a type it isn’t.
Seen on:
Java
Meaning
Raw collections, deserialized data (Integer vs Long), and objects from different class loaders (same class name, different loader) commonly cause it.
Common causes
- Wrong assumption about runtime type
- Raw/untyped collections
- JSON numbers deserialized as Integer vs Long
- Class loader duplicates in app servers
⚡ Quick fix
- Use generics instead of raw types
- Check with instanceof / pattern matching
- Convert numbers via Number.longValue()
Detailed fix by platform
Java
if (value instanceof Number n) { long id = n.longValue(); }
How to diagnose
- Types — Both classes in the message
- Loaders — Same class name in two loaders?
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 2 Oct 2026