Scala Casting

Scala Casting
Nei linguaggi di programmazione, troviamo una situazione in cui abbiamo bisogno della variabile già esistente definita in un tipo di dati da convertire in un diverso tipo di dati. Per questa Scala, il tipo di tipografia è un approccio che cambierà il tipo di dati di variabile in altri tipi di dati. Ma non tutti i tipi di dati possono essere convertiti in un altro tipo di dati a tua scelta. Nell'articolo, discuteremo di Scala typecasting per una migliore comprensione della conversione del tipo di dati all'altro tipo.

Cosa sta tipografi in Scala?

In typecasting, il tipo di parola racconta il compilatore su quale tipo di dati abbiamo in un programma. Il tipo è anche noto come tipo di dati. Il tipo di tipografia è la conversione di un tipo di dati già esistente in un altro tipo di dati. Questa conversione da un tipo all'altra è possibile ma non possiamo invertirli, non è possibile in Scala a causa delle diverse dimensioni dei tipi di dati. Potrebbe esserci un rischio di perdita di dati per convertire una dimensione maggiore del tipo di dati in uno più piccolo.

Sintassi del typecasting in Scala

La sintassi generale del casting di tipo Scala guarda in questo modo:

object_name = oggetto.asinstanceof [classe]

Il metodo asinstanceof viene utilizzato per typecast. Nella sintassi sopra, è definito oggetto_. La classe è il nome di una classe in cui un oggetto è lanciato.

Come digitare il casting in Scala in Ubuntu 20.04?

Per sapere come possiamo castare il tipo di dati da uno all'altro in Scala, dovremmo dare un'occhiata agli esempi:

Esempio n. 1: programma di casting implicito in Scala Ubuntu 20.04

Quando il compilatore tipografica qualsiasi valore o variabile stesso, allora è implicito typecasting. I dati potrebbero essere persi i.e., In un caso in cui il valore intero restituisce un valore float, il compilatore stampa solo il valore del tipo intero che può portare alla perdita di dati. Abbiamo un codice di seguito per dimostrare come fare il casting implicito.

Nel codice di esempio sopra, abbiamo una classe come "typeconversion1". La classe ha un metodo principale in cui abbiamo creato un valore come "val" e lo definiamo "myvalue". La variabile "myvalue" è inizializzata con il valore "489" del numero intero del tipo di dati. Dopo la divisione, il risultato viene salvato in una nuova variabile "MyResult" che restituisce il valore del resto. Questa operazione di divisione lascia un punto decimale ma a causa della conversione di tipo implicita, otterremo il valore intero. Attraverso le istruzioni di stampa, avremo il valore dei tipi di dati con i tipi menzionati.

L'output ha un valore intero visualizzato nell'immagine sottostante, ma dovrebbe esserci un valore float restituito all'operazione di divisione. Ciò è dovuto al casting di tipo implicito che perde valori decimali.

Esempio n. 2: programma di casting esplicito in Scala in Ubuntu 20.04

Il codice di esempio di cui sopra ha un problema con la perdita di dati. Possiamo risolverlo usando il casting esplicito. La conversione del valore del tipo di dati o della variabile è definita dall'utente. Questo tipo di casting è il casting definito dall'utente in Scala.

Nel codice sopra, abbiamo due tipi di conversione. L'implementazione si trova in una classe Scala denominata "TypeConversion2". Il metodo principale di classe definisce una conversione del tipo di dati. Innanzitutto, abbiamo creato una variabile rappresentata come "x" di tipo di dati corto che ha un valore "999". Quindi, abbiamo aggiunto un'altra variabile "Y" che converte il tipo di dati da breve a lungo e lo inizializza con il tipo corto. Per questo, abbiamo una variabile come "io" di tipo char che memorizza un personaggio "z". Abbiamo creato un'altra variabile "J" per convertire il tipo da char a fluttuare e inizializzarlo con il valore di char. Attraverso il metodo GetClass, otterremo il tipo di dati dei valori specifici. La funzione di stampa restituirà i valori di output delle variabili specificate in essa.

Possiamo vedere il lungo valore di "999" sullo schermo del terminale e anche il valore del carattere "Z" nel tipo di dati float.

Esempio n. 3: programma di utilizzo del metodo Asinstanceof in Scala Ubuntu 20.04

La funzione asinstanceof è una tecnica di fusione di tipo speciale in Scala. Prende un parametro del valore in cui è specificato il tipo. Il metodo funziona principalmente sul tempo di esecuzione. Se durante il tempo di esecuzione il tipo specificato non corrisponde al valore su cui viene chiamato il metodo, lancia un'eccezione.

Nel codice di cui sopra della classe dichiarata come "typeconversion3", abbiamo definito una variabile come "p" di interi del tipo di dati. La variabile "P" memorizza un valore "1999" su cui verrà eseguito. Quindi, abbiamo creato una variabile "risultato1" di tipo galleggiante. Questo convertirà il tipo da int a galleggiare. L'istruzione di stampa restituirà il valore di "risultato1" con il tipo menzionato. Nel codice, abbiamo anche preso i valori dei caratteri per la conversione del tipo. Abbiamo creato una "Q" variabile di tipo di tipo di dati che memorizza un valore di carattere "M" e quindi abbiamo inizializzato il valore del carattere usando il metodo asinstanceof in una nuova variabile "risultato2" Il tipo di dati sarà nel valore ASCII di carattere. L'istruzione di stampa aiuterà a mostrare i valori restituiti di typecasting.

Come mostrato nell'immagine seguente, il doppio valore di "1999" come output e il valore ASCII del carattere "M" come output dal metodo tipografico.

Conclusione

La guida mira a darti una comprensione chiara e concisa del typecasting Scala. Abbiamo coperto quasi tutto sul tipo di tipografi Scala. In primo luogo, abbiamo una breve introduzione a Scala typecasting. Quindi, abbiamo la sintassi generale e l'implementazione del codice di esempio. Nel codice di esempio, abbiamo discusso di due tipi di typecasting Scala: casting implicito e casting esplicito. Inoltre, abbiamo attraversato il metodo Scala Casting Asinstance del che può essere utilizzato anche per applicazioni più complesse, come il passaggio di un array dell'istanza dell'oggetto. Questi esempi ti aiuteranno a gestire i casi di tipografi.