Op Java, soort gieten is een methode of proces dat een gegevenstype zowel handmatig als automatisch omzet in een ander gegevenstype. De automatische conversie wordt uitgevoerd door de compiler en de handmatige conversie wordt uitgevoerd door de programmeur. In deze sectie zullen we bespreken soort gieten En zijn typen met de juiste voorbeelden.
Type gieten
Het converteren van een waarde van het ene gegevenstype naar een ander gegevenstype staat bekend als soort gieten .
Soorten typegieten
Er zijn twee soorten typecasting:
- Verbreding van het gieten van typen
- Vernauwingstype gieten
Verbreding van het gieten van typen
Het omzetten van een lager gegevenstype naar een hoger wordt genoemd verbreding soort gieten. Het is ook bekend als impliciete conversie of neerwerpen . Het gebeurt automatisch. Het is veilig omdat er geen kans is om gegevens te verliezen. Het vindt plaats wanneer:
- Beide gegevenstypen moeten compatibel zijn met elkaar.
- Het doeltype moet groter zijn dan het brontype.
byte -> short -> char -> int -> long -> float -> double
De conversie tussen numeriek gegevenstype naar char of Boolean gebeurt bijvoorbeeld niet automatisch. Bovendien zijn de gegevenstypen char en Boolean niet compatibel met elkaar. Laten we een voorbeeld bekijken.
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); } }
Uitvoer
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
In het bovenstaande voorbeeld hebben we een variabele x genomen en deze omgezet in een lang type. Daarna wordt het lange type omgezet in het float-type.
Vernauwingstype gieten
Het omzetten van een hoger gegevenstype naar een lager wordt genoemd vernauwing soort gieten. Het is ook bekend als expliciete conversie of opwerpen . Het wordt handmatig gedaan door de programmeur. Als we geen casting uitvoeren, rapporteert de compiler een compileerfout.
double -> float -> long -> int -> char -> short -> byte
Laten we een voorbeeld bekijken van het casten van vernauwingstypes.
In het volgende voorbeeld hebben we het vernauwingstype twee keer uitgevoerd. Eerst hebben we het dubbele type omgezet in een lang gegevenstype, waarna dat lange gegevenstype is omgezet in een int-type.
subtekenreeks java
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); } }
Uitvoer
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166