In Java, Typguss ist eine Methode oder ein Prozess, der einen Datentyp sowohl manuell als auch automatisch in einen anderen Datentyp konvertiert. Die automatische Konvertierung erfolgt durch den Compiler und die manuelle Konvertierung durch den Programmierer. In diesem Abschnitt werden wir diskutieren Typguss Und seine Typen mit passenden Beispielen.
Typguss
Das Konvertieren eines Werts von einem Datentyp in einen anderen Datentyp wird als Konvertieren bezeichnet Typguss .
Arten des Typgusses
Es gibt zwei Arten des Typgusses:
- Aufweitender Guss
- Verengender Typguss
Aufweitender Guss
Das Konvertieren eines niedrigeren Datentyps in einen höheren wird aufgerufen Erweiterung Typguss. Es ist auch bekannt als implizite Konvertierung oder niederwerfen . Dies geschieht automatisch. Es ist sicher, da keine Gefahr besteht, dass Daten verloren gehen. Es findet statt, wenn:
- Beide Datentypen müssen miteinander kompatibel sein.
- Der Zieltyp muss größer als der Quelltyp sein.
byte -> short -> char -> int -> long -> float -> double
Beispielsweise erfolgt die Konvertierung zwischen numerischen Datentypen in char oder Boolean nicht automatisch. Außerdem sind die Datentypen char und Boolean nicht miteinander kompatibel. Sehen wir uns ein Beispiel an.
WideningTypeCastingExample.java
public class WideningTypeCastingExample { public static void main(String[] args) { int x = 7; //automatically converts the integer type into long type long y = x; //automatically converts the long type into float type float z = y; System.out.println('Before conversion, int value '+x); System.out.println('After conversion, long value '+y); System.out.println('After conversion, float value '+z); } }
Ausgabe
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
Im obigen Beispiel haben wir eine Variable x genommen und sie in einen langen Typ umgewandelt. Danach wird der Long-Typ in den Float-Typ konvertiert.
Verengender Typguss
Das Konvertieren eines höheren Datentyps in einen niedrigeren wird aufgerufen Verengung Typguss. Es ist auch bekannt als explizite Konvertierung oder aufwerfen . Dies erfolgt manuell durch den Programmierer. Wenn wir kein Casting durchführen, meldet der Compiler einen Fehler bei der Kompilierung.
double -> float -> long -> int -> char -> short -> byte
Sehen wir uns ein Beispiel für eine einschränkende Typumwandlung an.
Im folgenden Beispiel haben wir den Narrowing-Type-Casting zweimal durchgeführt. Zuerst haben wir den Double-Typ in den Long-Datentyp konvertiert, nachdem dieser Long-Datentyp in den Int-Typ konvertiert wurde.
NarrowingTypeCastingExample.java
public class NarrowingTypeCastingExample { public static void main(String args[]) { double d = 166.66; //converting double data type into long data type long l = (long)d; //converting long data type into int data type int i = (int)l; System.out.println('Before conversion: '+d); //fractional part lost System.out.println('After conversion into long type: '+l); //fractional part lost System.out.println('After conversion into int type: '+i); } }
Ausgabe
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166