Empfohlen, 2024

Tipp Der Redaktion

Unterschied zwischen Typumwandlung und Typumwandlung

Die beiden Begriffe "Typumwandlung" und "Typkonvertierung" treten auf, wenn ein Datentyp in einen anderen konvertiert werden muss. Wenn die beiden Typen miteinander kompatibel sind, wird die Konvertierung eines Typs in einen anderen automatisch vom Compiler vorgenommen. Es gibt jedoch einen grundlegenden Unterschied zwischen der Typumwandlung und der Typumwandlung, dh die Typumwandlung wird vom Compiler "automatisch" ausgeführt, während der Typumwandeln vom Programmierer "explizit" ausgeführt wird. Lassen Sie uns den Unterschied sowohl beim Typumwandeln als auch beim Konvertieren anhand einer Vergleichstabelle besprechen.

Vergleichstabelle:

VergleichsgrundlageGeben Sie Casting einTypumwandlung
BedeutungEin Datentyp wird vom Benutzer einem anderen Cast-Operator zugewiesen und dann als "Type Casting" bezeichnet.Die automatische Konvertierung eines Datentyps in einen anderen durch den Compiler wird als "Typkonvertierung" bezeichnet.
AngewendetDie Typumwandlung kann auch auf zwei "inkompatible" Datentypen angewendet werden.Die Typkonvertierung kann nur implementiert werden, wenn zwei Datentypen 'kompatibel' sind.
OperatorUm einen Datentyp in einen anderen umzuwandeln, ist ein Casting-Operator '()' erforderlich.Kein Operator erforderlich
Größe der DatentypenDer Zieltyp kann kleiner als der Quelltyp sein.Hier muss der Zieltyp größer als der Quelltyp sein.
UmgesetztDies geschieht während der Programmgestaltung.Es wird explizit beim Kompilieren gemacht.
Konvertierungsart
Verengung der Umwandlung.Erweiterung der Konvertierung.
Beispielint a;
Byte b;
...
...
b = (Byte) a;
int a = 3;
float b;
b = a; // Wert in b = 3.000.

Definition von Typ Casting

Typumwandlung kann definiert werden als ein Umsetzen eines Datentyps in einen anderen Datentyp durch den Programmierer zum Zeitpunkt des Programmdesigns. Eine automatische Konvertierung eines Datentyps in einen anderen ist nicht immer möglich. Es kann die Bedingung sein, dass der 'Zieltyp' kleiner ist als der 'Quelltyp', so dass der Programmierer den größeren Datentyp mithilfe des Casting-Operators '()' explizit in einen kleineren Datentyp umwandeln muss. Da der größere Datentyp auf den kleineren Datentyp moduliert wird, wird er auch als "Verengungskonvertierung" bezeichnet.

Erklärung:

 destination_type = (target_type) Variable / Wert // Zieltyp ist ein Typ, bei dem Sie den Quelltyp konvertieren möchten. Er ist immer der Zieltyp. 

Verstehen wir es mit einem Beispiel. Sie möchten jetzt den Datentyp 'int' in 'byte' konvertieren, da 'byte' kleiner als 'int' ist, und die Typkonvertierung ist nicht zulässig. Hier mussten wir 'int' implizit mit dem Casting-Operator '()' in 'byte' konvertieren. Da 'int' größer als 'Byte' ist, wird die Größe von 'int' auf den Bereich 'int mod byte' reduziert.

 int a; Byte b; ... ... b = (Byte) a; 

Wenn der 'float' in 'int' konvertiert wird, wird die Größe des float abgeschnitten, da 'int' den Bruchwert nicht speichert. Wenn die Größe des Zieltyps zu klein ist, um in den Quellentyp zu passen, ist der Quelltyp der Modulo-Zieltyp 'range'. Das Casting kann auch angewendet werden, wenn Datentypen kompatibel sind. Es wird empfohlen, das Type Casting überall dort einzusetzen, wo Typkonvertierungen erforderlich sind.

Definition der Typumwandlung

Typkonvertierung ist die automatische Konvertierung eines Datentyps in einen anderen, wenn dies vom Compiler explizit vorgenommen wird. Vor der Typumwandlung müssen jedoch zwei Bedingungen erfüllt werden.

  • Quell- und Zieltyp müssen kompatibel sein.
  • Zieltyp muss größer als Quelltyp sein.

Diese beiden Bedingungen sollten erfüllt sein, um eine Typkonvertierung zu erreichen, und diese Art von Konvertierung wird als "Verbreitungskonvertierung" bezeichnet. Wenn ein kleinerer Typ in einen größeren Typ konvertiert wird, tritt eine Typverbreiterung auf. Für diese erweiterte Konvertierung sind numerische Typen wie 'int', 'float' miteinander kompatibel, während numerisch zu char und boolean oder char zu boolean nicht kompatibel sind.

Dieses Beispiel gibt Ihnen einen besseren Überblick

 int a = 3; float b; b = a; // Wert in b = 3.000. 

Hier wird 'int' in 'float' konvertiert, das größer als 'int' ist, so dass eine Erweiterung des Quelltyps auftritt. Hier ist kein Casting-Operator erforderlich, da der Compiler dies explizit tut.

Hauptunterschiede zwischen Typumwandlung und Konvertierung

  1. Der grundlegende Unterschied, der die Typumwandlung von der Typumwandlung unterscheidet, besteht darin, dass die Typumwandlung von einem Typ in einen anderen erfolgt, der vom Programmierer durchgeführt wird. Andererseits ist die Typkonvertierung eine Konvertierung eines Typs in einen anderen, die vom Compiler während des Kompilierens ausgeführt wird.
  2. Das Typ-Casting kann auf die Datentypen angewendet werden, die möglicherweise nicht miteinander kompatibel sind. Die Typkonvertierung kann jedoch nur auf die Datentypen angewendet werden, die miteinander kompatibel sind.
  3. Für die Konvertierung eines Typs in einen anderen Typguss ist der Castingoperator "()" erforderlich, während für die Konvertierung eines Datentyps in einen anderen Typkonverter kein Operator erforderlich ist.
  4. Bei der Konvertierung eines Datentyps in einen anderen bei der Typumwandlung kann der Zieltyp größer oder kleiner als der Quelltyp sein. Auf der anderen Seite muss der Zieltyp größer sein als der Quelltyp bei der Typkonvertierung.
  5. Die Konvertierung eines Typs in einen anderen Typ erfolgt während der Codierung im Type Casting, während bei der Typkonvertierung die Konvertierung eines Typs in einen anderen explizit während der Kompilierung erfolgt.
  6. Typumwandlung wird als Einschränkungskonvertierung bezeichnet, da der Zieltyp hier kleiner als der Quelltyp sein kann, während Typkonvertierung als Verbreitungskonvertierung bezeichnet wird, da der Zieltyp hier größer sein muss als der Quelltyp.

Fazit:

Es kann gefolgert werden, dass Typumwandlung und Typumwandlung beide die Aufgabe haben, einen Datentyp in einen anderen umzuwandeln, sich jedoch dahingehend unterscheiden, dass Typumwandlung vom Programmierer ausgeführt wird, indem der Cast-Operator '()' verwendet wird und die Typumwandlung von der Compiler, und es verwendet keinen Operator.

Top