Scala Casting

Scala Casting
På programmeringsspråk finner vi en situasjon der vi trenger den allerede eksisterende variabelen definert i en datatype som skal konverteres til en annen datatype. For denne skalaen er typekasting en tilnærming som vil endre datatypen variabel til andre datatyper. Men ikke alle datatype kan konverteres til en annen datatype av ditt valg. I artikkelen vil vi diskutere Scala Typecasting for en bedre forståelse av konvertering av datatype til den andre typen.

Hva er typekasting i Scala?

I typekasting forteller ordtypen kompilatoren om hvilken type data vi har i et program. Typen er også kjent som datatype. Typecasting er konvertering av en allerede eksisterende datatype til en annen datatype. Denne konverteringen fra en type til en annen er mulig, men vi kan ikke snu dem igjen, det er ikke mulig i Scala på grunn av de forskjellige størrelsene på datatyper. Det kan være en risiko for tap av data for å konvertere en større størrelse på datatype til en mindre.

Syntaks av typekastingen i Scala

Den generelle syntaksen for støping av Scala -typen ser ut på denne måten:

objektnavn = objekt.asinstanceof [klasse]

Asinstanceof -metoden brukes til å skrive. I syntaks ovenfor er objektnavn definert i hvilket støpt forekomst av objektet returneres, objektet er objektet som skal støpes. Klassen er navnet på en klasse der et objekt er støpt.

Hvordan skrive støping i Scala i Ubuntu 20.04?

For å vite, hvordan vi kan kaste datatype fra en til en annen type i Scala, bør vi se på eksemplene:

Eksempel 1: Program for implisitt casting i Scala Ubuntu 20.04

Når kompilatoren typecasts en hvilken som helst verdi eller variabel i seg selv, er det implisitt typecasting. Data kan gå tapt i.e., I et tilfelle hvor heltallverdien returnerer en flyteverdi, skriver kompilatoren bare heltallsverdien som kan føre til tap av data. Vi har en kode nedenfor for å demonstrere hvor implisitt casting kan gjøres.

I eksemplet ovenfor har vi en klasse som "TypeConversion1". Klassen har en hovedmetode der vi har skapt en verdi som "val" og definerer den som "myValue". Variabelen “MyValue” initialiseres med verdien “489” av datatypen heltall. Etter divisjon lagres resultatet i en ny variabel "myresult" som returnerer resten av verdien. Denne divisjonsoperasjonen etterlater et desimalpunkt, men på grunn av implisitt type konvertering, vil vi få heltallverdien. Gjennom utskriftsuttalelser vil vi ha datatyper verdi med nevnte typer.

Utgangen har en heltallverdi vist på bildet nedenfor, men det skal være en floatverdi returnert på divisjonsoperasjonen. Dette skyldes implisitt støping av type som mister desimalverdier.

Eksempel 2: Program for eksplisitt casting i Scala i Ubuntu 20.04

Eksempelkoden ovenfor har problemer med tap av data. Vi kan løse det ved å bruke eksplisitt støping. Konvertering av datatypeverdi eller variabel er definert av brukeren. Denne typen støping er brukerdefinert støping i Scala.

I koden ovenfor har vi to typer konvertering. Implementeringen er i en Scala -klasse som heter “TypeConversion2”. Klassens hovedmetode definerer en konvertering av datatype. Først har vi opprettet en variabel representert som "x" av datatype som har en verdi "999". Deretter la vi til en annen variabel "y" som konverterer datatypen fra kort til lang og initialiserer den med den korte typen. For dette har vi en variabel som "jeg" av typen røye som lagrer en karakter "z". Vi har laget en annen variabel “J” for konvertering av type fra røye til å flyte og initialisere den med verdien av røye. Gjennom GetClass -metoden vil vi få datatypen til de spesifikke verdiene. Utskriftsfunksjonen vil returnere utgangsverdiene til spesifiserte variabler i den.

Vi kan se den lange verdien av “999” på terminalskjermen og også tegnet “Z” -verdien i float -datatypen.

Eksempel nr. 3: Program for bruk av Asinstanceof -metoden i Scala Ubuntu 20.04

Asinstanceof -funksjonen er en støping av spesiell type i Scala. Det tar en parameter for verdien som typen er spesifisert. Metoden fungerer først og fremst på kjøretid. Hvis den spesifiserte typen ikke samsvarer med verdien som metoden kalles på, kaster den et unntak.

I klassen ovenfor er klassen erklært som "TypeConversion3", har vi definert en variabel som "P" av datatype -heltall. Den variable “P” lagrer en verdi “1999” som typekasting skal gjøres. Deretter har vi laget et variabelt “Resultat1” av Type Float. Dette vil konvertere typen fra int til å flyte. Utskriftserklæringen vil returnere verdien av "Resultat1" med den nevnte typen. I koden har vi også tatt karakterverdier for konvertering av type. Vi har laget en variabel “Q” av datatypekar som lagrer en karakterverdi “M”, og så har vi initialisert verdien av karakter karakter. Utskriftserklæringen vil bidra til å vise de returnerte verdiene for typecasting.

Som vist på bildet nedenfor, er den doble verdien av "1999" som en utgang og ASCII -verdien av karakteren "m" som utgang fra typecastmetoden.

Konklusjon

Guiden tar sikte på å gi deg en klar og kortfattet forståelse av Scala Typecasting. Vi har dekket nesten alt om Scala Typecasting. For det første har vi en kort introduksjon til Scala Typecasting. Deretter har vi generell syntaks og eksemplets kodeimplementering. I eksempelkoden har vi diskutert to typer skala -typecasting: implisitt casting og eksplisitt casting. Vi har også gått gjennom Scala Casting Asinstanceof -metoden som også kan brukes til mer komplekse applikasjoner, for eksempel å passere en rekke objektforekomster. Disse eksemplene vil hjelpe deg med å håndtere typekastingssaker.