I Java, type støping er en metode eller prosess som konverterer en datatype til en annen datatype på begge måter manuelt og automatisk. Den automatiske konverteringen gjøres av kompilatoren og manuell konvertering utført av programmereren. I denne delen vil vi diskutere type støping og dens typer med riktige eksempler.
Type støping
Konvertere en verdi fra én datatype til en annen datatype er kjent som type støping .
Typer type støping
Det er to typer støping:
- Utvidelsestype støping
- Innsnevrende type støping
Utvidelsestype støping
Konvertering av en lavere datatype til en høyere kalles utvidende type støping. Det er også kjent som implisitt konvertering eller kaste ned . Det gjøres automatisk. Det er trygt fordi det ikke er sjanse for å miste data. Det skjer når:
- Begge datatypene må være kompatible med hverandre.
- Måltypen må være større enn kildetypen.
byte -> short -> char -> int -> long -> float -> double
For eksempel gjøres ikke konverteringen mellom numerisk datatype til char eller boolsk. Dessuten er ikke datatypene char og boolske data kompatible med hverandre. La oss se et eksempel.
WideningTypeCastingExample.java
s i python
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); } }
Produksjon
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
I eksemplet ovenfor har vi tatt en variabel x og konvertert den til en lang type. Etter det konverteres den lange typen til flytetypen.
Innsnevrende type støping
Konvertering av en høyere datatype til en lavere kalles innsnevring type støping. Det er også kjent som eksplisitt konvertering eller kaste opp . Det gjøres manuelt av programmereren. Hvis vi ikke utfører casting, rapporterer kompilatoren en kompileringstidsfeil.
linkedlist java
double -> float -> long -> int -> char -> short -> byte
La oss se et eksempel på innsnevrende støping.
I det følgende eksempelet har vi utført den avsmalnende typen støping to ganger. Først har vi konvertert dobbelttypen til lang datatype etter at den lange datatypen er konvertert til int-type.
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); } }
Produksjon
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166