Объяснение ClassCastException в Java

Это действительно довольно jre просто: если вы пытаетесь cast преобразовать тип объекта core-java класса A в объект класса casting B, а они несовместимы, вы openjdk получите исключение преобразования .java класса.

Давайте подумаем о java коллекции классов.

class A {...}
class B extends A {...}
class C extends A {...}
  1. Любое из этих элементов можно преобразовать в Object, потому что все классы Java наследуются от Object.
  2. Вы можете преобразовать B или C в A, потому что они оба "разновидности" A
  3. Ссылку на объект A можно преобразовать в B , только если реальный объект - B.
  4. Невозможно преобразовать B в C, даже если они оба A.

java

casting

classcastexception

2022-10-29T09:39:08+00:00