java.lang.ClassCastException in Java

Shiv Yadav 15 Februar 2024
  1. die java.lang.ClassCastException in Java
  2. Lösen Sie die java.lang.ClassCastException in Java auf
java.lang.ClassCastException in Java

Wenn wir versuchen, ein Objekt von der übergeordneten Klasse auf das Objekt der untergeordneten Klasse umzuwandeln, wird die java.lang.ClassCastException ausgelöst. Es kann jedoch auch geworfen werden, wenn wir versuchen, ein Objekt zwischen zwei völlig unabhängigen Typen zu konvertieren.

Dieser Artikel hilft Ihnen beim Umgang mit Javas java.lang.ClassCastException.

die java.lang.ClassCastException in Java

Das folgende Programm erstellt ein Objekt obb vom Typ Object und tippt dieses Objekt obb in ein Objekt shh vom Typ String. Wenn wir versuchen, ein Objekt in seinen untergeordneten Typ umzuwandeln, landen wir bei Java.lang, weil wir wissen, dass die Object-Klasse die übergeordnete Klasse aller Klassen in Java.ClassCastException ist.

Code - classCast.java:

public class classCast {
  public static void main(String[] args) {
    try {
      Object obb = new Object();

      String shh = (String) obb;

      System.out.println(shh);
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}

Ausgang:

java.lang.Object kann nicht in java.lang.String umgewandelt werden

Lösen Sie die java.lang.ClassCastException in Java auf

Stellen Sie sicher, dass der neue Typ zu einer der übergeordneten Klassen der Klasse gehört, aus der Sie versuchen, ein Objekt umzuwandeln, oder vermeiden Sie die Typumwandlung eines übergeordneten Objekts in seinen untergeordneten Typ, um zu verhindern, dass die ClassCastException auftritt. Generics, die eine Kompilierzeitvalidierung bieten, können verwendet werden, um ClassCastException bei der Verwendung von Sammlungen zu verhindern.

Es handelt sich um eine ungeprüfte Ausnahme, da es sich um eine untergeordnete Klasse RuntimeException handelt. Wenn wir versuchen, einen Kurs unangemessen von einem Typ in einen anderen umzuwandeln, z. B. wenn wir versuchen, ein übergeordnetes Objekt in einen untergeordneten Typ umzuwandeln oder ein Objekt in eine Unterklasse umzuwandeln, die keine Instanz ist, löst die JVM diese Ausnahme automatisch aus.

Code - classCast.java:

package classcaste;

public class classCast {
  public static void main(String[] args) {
    try {
      String shh = "shiv";
      Object obb = (Object) shh;

      System.out.println(obb);
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}

Ausgang:

shiv
Autor: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

Verwandter Artikel - Java Error