logo

Typecasting i Java

Typecasting i Java er prosessen med å konvertere en datatype til en annen datatype ved å bruke casting-operatøren. Når du tilordner en verdi fra en primitiv datatype til en annen type, kalles dette typecasting. For å muliggjøre bruk av en variabel på en bestemt måte, krever denne metoden at Java-kompilatoren eksplisitt instrueres om å behandle en variabel av én datatype som en variabel av en annen datatype.

Syntaks:



 variableName = () value;>

Typer type støping

Det finnes to typer Type Casting i java:

  • Utvidelsestype støping
  • Smal type støping

Utvidelsestype støping

En lavere datatype transformeres til en høyere ved en prosess kjent som støping av utvidende type. Implisitt type støping og casting ned er noen navn på det. Det oppstår naturlig. Siden det ikke er noen sjanse for tap av data, er det sikkert. Utvidelsestype støping skjer når:

  • Måltypen må være større enn kildetypen.
  • Begge datatypene må være kompatible med hverandre.

Syntaks:



larger_data_type variable_name = smaller_data_type_variable;>


Java

hvordan fjerne det første tegnet i excel






// Java program to demonstrate Widening TypeCasting> import> java.io.*;> > class> GFG {> >public> static> void> main(String[] args)> >{> >int> i =>10>;> > >// Wideing TypeCasting (Automatic Casting)> >// from int to long> >long> l = i;> > >// Wideing TypeCasting (Automatic Casting)> >// from int to double> >double> d = i;> > >System.out.println(>'Integer: '> + i);> >System.out.println(>'Long: '> + l);> >System.out.println(>'Double: '> + d);> >}> }>

>

>

Produksjon

Integer: 10 Long: 10 Double: 10.0>

Smal type støping

Prosessen med å redusere en større datatype til en mindre er kjent som innsnevringstype avstøpning. Casting up eller eksplisitt type casting er andre navn for det. Det skjer ikke bare av seg selv. Hvis vi ikke eksplisitt gjør det, vil det oppstå en kompileringsfeil. Innsnevring av casting er utrygt fordi datatap kan skje på grunn av den lavere datatypens mindre utvalg av tillatte verdier. En cast-operatør bistår i prosessen med eksplisitt casting.

Syntaks:

smaller_data_type variable_name = (smaller_data_type) larger_data_type_variable;>

Eksempel:

Java




// Java Program to demonstrate Narrow type casting> import> java.io.*;> > class> GFG {> >public> static> void> main(String[] args)> >{> >double> i =>100.245>;> > >// Narrowing Type Casting> >short> j = (>short>)i;> >int> k = (>int>)i;> > >System.out.println(>'Original Value before Casting'> >+ i);> >System.out.println(>'After Type Casting to short '> >+ j);> >System.out.println(>'After Type Casting to int '> >+ k);> >}> }>

>

>

Produksjon

Original Value before Casting100.245 After Type Casting to short 100 After Type Casting to int 100>

Typer eksplisitt casting

Hovedsakelig er det to typer eksplisitt casting:

  • Eksplisitt oppkasting
  • Eksplisitt nedkasting

Eksplisitt oppkasting

Upcasting er prosessen med å støpe en undertype til en supertype i arvetreets oppadgående retning. Når et subklasseobjekt refereres av en superklassereferansevariabel, utløses en automatisk prosess uten ytterligere innsats.

Eksempel:

Java




// Java Program to demonstrate Explicit Upcasting> import> java.io.*;> > class> Animal {> >public> void> makeSound()> >{> >System.out.println(>'The animal makes a sound'>);> >}> }> > class> Dog>extends> Animal {> >public> void> makeSound()> >{> >System.out.println(>'The dog barks'>);> >}> > >public> void> fetch()> >{> >System.out.println(>'The dog fetches a ball'>);> >}> }> class> GFG {> >public> static> void> main(String[] args)> >{>// Upcasting> >Animal animal =>new> Dog();> >// Calls the overridden method in Dog class> >animal.makeSound();> >// This would give a compile error as fetch() is not> >// a method in Animal class> >// animal.fetch();> >}> }>

>

>

ekta kapoor skuespiller
Produksjon

The dog barks>

Eksplisitt nedkasting

Når en underklassetype refererer til et objekt av den overordnede klassen, blir prosessen referert til som nedkasting. Hvis det gjøres manuelt, utsteder kompilatoren en runtime ClassCastException-feil. Det kan bare gjøres ved å bruke instanceof-operatoren. Bare nedkasting av et objekt som allerede er oppkastet er mulig.

Eksempel:

Java




// Java Program to demonstrate Explicit downcasting> import> java.io.*;> class> Animal {> >public> void> eat()> >{> >System.out.println(>'The animal is eating.'>);> >}> }> > class> Cat>extends> Animal {> >public> void> meow()> >{> >System.out.println(>'The cat is meowing.'>);> >}> }> > class> GFG {> >public> static> void> main(String[] args)> >{> >Animal animal =>new> Cat();> >animal.eat();> > >// Explicit downcasting> >Cat cat = (Cat)animal;> >cat.meow();> >}> }>

>

>

Produksjon

The animal is eating. The cat is meowing.>