Scala Casting

Scala Casting
In Programmiersprachen finden wir eine Situation, in der wir die bereits vorhandene Variable in einem Datentyp in einen anderen Datentyp konvertiert werden müssen. Für diese Skala ist die Typusanierung ein Ansatz, der den Datentyp der Variablen in andere Datentypen umwandelt. Aber nicht jeder Datentyp kann in einen anderen Datentyp Ihrer Wahl konvertiert werden. In dem Artikel werden die Skala -Typen diskutieren, um die Konvertierung des Datentyps zum anderen Typ besser zu verstehen.

Was ist typisch in scala?

Bei der Type -Anbietung teilt der Worttyp dem Compiler mit, welche Art von Daten wir in einem Programm haben. Der Typ wird auch als Datentyp bezeichnet. Die Typusanschlüsse ist die Konvertierung eines bereits vorhandenen Datentyps in einen anderen Datentyp. Diese Konvertierung von einem Typ zu einem anderen ist möglich, aber wir können sie nicht wieder umkehren. Aufgrund der verschiedenen Größen von Datentypen ist sie in Scala nicht möglich. Es kann das Risiko eines Datenverlusts bestehen, um eine größere Datentypgröße in einen kleineren Umwandeln.

Syntax der Typen in Scala

Die allgemeine Syntax des Skala -Gastes sieht auf diese Weise aus:

Object_name = Objekt.Asinstance von [Klasse]

Das Asinstance -Verfahren wird verwendet. In der obigen Syntax wird Object_Name definiert, in der die Casted -Instanz des Objekts zurückgegeben wird. Das Objekt ist das zu gegossene Objekt. Die Klasse ist der Name einer Klasse, in der ein Objekt gegossen wird.

Wie man Casting in Scala in Ubuntu 20 eingibt.04?

Um zu wissen, wie wir den Datentyp von einem zu einem anderen Typ in Scala kasten können, sollten wir uns die Beispiele ansehen:

Beispiel Nr. 1: Programm des impliziten Casting in Scala Ubuntu 20.04

Wenn der Compiler selbst einen Wert oder eine Variable selbst typisiert, ist es implizite typeziert. Daten könnten verloren gehen, ich.e., In einem Fall, in dem der Ganzzahlwert einen Float -Wert zurückgibt, druckt der Compiler nur den Ganzzahltypwert, der zu Datenverlust führen kann. Wir haben unten einen Code, um zu demonstrieren, wie implizites Casting durchgeführt werden kann.

Im obigen Beispielcode haben wir eine Klasse als "TypeConversion1". Die Klasse hat eine Hauptmethode, bei der wir einen Wert als "Val" geschaffen haben und sie als "myValue" definiert haben. Die Variable "myValue" wird mit dem Wert "489" der Datentyp -Ganzzahl initialisiert. Nach der Teilung wird das Ergebnis in einer neuen Variablen „Myresult“ gespeichert, die den Restwert zurückgibt. Diese Teilung der Teilung hinterlässt einen Dezimalpunkt, aber aufgrund der impliziten Typumwandlung erhalten wir den Ganzzahlwert. Durch Druckanweisungen haben wir Datentypen Wert mit den genannten Typen.

Die Ausgabe hat einen Ganzzahlwert, der im Bild unten angezeigt wird, aber es sollte einen Float -Wert in der Divisionsoperation zurückgeben. Dies ist auf implizites Typguss zurückzuführen, der Dezimalwerte verliert.

Beispiel Nr. 2: Programm des expliziten Castings in Scala in Ubuntu 20.04

Der obige Beispielcode hat ein Problem mit dem Datenverlust. Wir können es lösen, indem wir explizites Casting verwenden. Die Konvertierung des Datentypwerts oder der Variablen wird vom Benutzer definiert. Diese Art des Castings ist benutzerdefinierter Casting in Scala.

Im obigen Code haben wir zwei Arten von Konvertierungen. Die Implementierung befindet sich in einer Scala -Klasse mit dem Namen "typeConversion2". Die Hauptmethode der Klasse definiert eine Konvertierung des Datentyps. Erstens haben wir eine Variable erstellt, die als "X" des Datentypen -Kurzfilms dargestellt wird, der einen Wert "999" hat. Anschließend haben wir eine weitere Variable „Y“ hinzugefügt, die den Datentyp von kurz zu Long konvertiert und ihn mit dem kurzen Typ initialisiert. Dafür haben wir eine Variable als "i" vom Typ char, der einen Charakter "Z" speichert. Wir haben eine weitere Variable „J“ für den Konvertieren von Typ aus char zum Schweben und Initialisieren mit dem Wert von char erstellt. Durch die GetClass -Methode erhalten wir den Datentyp der spezifischen Werte. Die Druckfunktion gibt die Ausgangswerte der darin enthaltenen angegebenen Variablen zurück.

Wir können den langen Wert von „999“ auf dem Terminalbildschirm und auch den Zeichen „Z“ im Float -Datentyp sehen.

Beispiel Nr. 3: Programm der Verwendung der Asinstance -Methode in Scala Ubuntu 20.04

Die Asinstance -Funktion ist eine spezielle Typ -Casting -Technik in Scala. Es nimmt einen Parameter des Wertes an, in dem angegeben wird. Die Methode funktioniert in erster Linie in der Laufzeit. Wenn während der Laufzeit der angegebene Typ nicht mit dem Wert übereinstimmt, auf dem die Methode aufgerufen wird, wird eine Ausnahme ausgelöst.

Im obigen Code der Klasse, die als "typeconversion3" deklariert wurde. Die variable „P“ speichert einen Wert „1999“, auf dem Typen erfolgen wird. Dann haben wir eine Variable „Ergebnis1“ des Typs zum Float erstellt. Dadurch wird der Typ von int zum Schwimmer konvertiert. Die Druckanweisung gibt den Wert von „Ergebnis1“ mit dem genannten Typ zurück. Im Code haben wir auch Zeichenwerte für die Typumwandlung angenommen. Wir haben eine variable „q“ des Datentyp -Zeichens erstellt, die einen Zeichenwert „M“ speichert, und dann haben wir den Wert des Zeichens unter Verwendung der Asinstance -Methode in einer neuen Variablen „Ergebnis2“ initialisiert. Der Datentyp befindet sich im ASCII -Wert von von ASCII von Charakter. Die Druckanweisung wird dazu beitragen, die zurückgegebenen Werte von Typen zu zeigen.

Wie im Bild unten gezeigt, der Doppelwert von „1999“ als Ausgabe und der ASCII -Wert von Zeichen „M“ als Ausgabe aus der Typecast -Methode.

Abschluss

Der Leitfaden zielt darauf ab, Ihnen ein klares und prägnantes Verständnis der Skala -Typen zu vermitteln. Wir haben fast alles über Scala -Typen behandelt. Erstens haben wir eine kurze Einführung in Scala -Typen. Dann haben wir eine allgemeine Syntax und die Beispielcode -Implementierung. Im Beispielcode haben wir zwei Arten von Scala -Typen erörtert: implizites Casting und explizites Casting. Außerdem haben wir die Scala -Casting -Asinstance -Methode durchlaufen, die auch für komplexere Anwendungen verwendet werden kann, z. B. für die Übergabe eines Arrays der Objektinstanz. Diese Beispiele helfen Ihnen beim Umgang mit typischen Fällen.