[JAVA] Einführung in Kotlin für iOS-Entwickler ④-Typ

Dieses Mal werde ich vage auf die Handhabung und die Arten von Variablen und Konstanten eingehen, während ich vergleiche, wie man sie mit Swift, Java und Kotlin schreibt.

Deklaration von Konstanten und Variablen

Fügen Sie zum Zeitpunkt der Deklaration "let" und "var" in swift, den Typnamen der Konstanten / Variablen in Java und "val" und "var" in kotlin hinzu.

declaration.swift


let value1 = "HelloWorld" //Konstante
var value2 = 1 //Variable

declaration.Java


final String value1 = "HelloWorld"; //Konstante
int value2 = 1; //Variable

(* Diesmal sind mir keine Klassenkonstanten bekannt.)

declaration.kt


val value1 = "HelloWorld" //Konstante
var value2 = 1 //Variable

Art des Typs

Die Hauptpunkte sind der Vergleich der Typen Int, Double, String und Bool. Bitte beachten Sie, dass es einige Teile gibt, die sich geringfügig unterscheiden, z. B. "int" in Java, aber "Int" in kotlin.

type.swift


let num1: Int
let num2: Double
let text: String
let isTrue: Bool

type.Java


final int num1 = 1;
final Double num2 = 0.0;
final String text = "HelloWorld";
final boolean isTrue = true;

type.kt


val num1: Int = 1
val num2: Double = 0.0
val text: String = "HelloWorld"
val isTrue: Boolean = true

Typinferenz

Von den dreien funktioniert nur Java nicht mit Typinferenz. Wenn Sie im Fall von Java, wie oben erwähnt, den Typ zum Zeitpunkt der Deklaration nicht angeben, werden Sie wütend, sodass keine Schlussfolgerung gezogen werden kann.

Typenspezifikation

Es gibt auch eine Typenspezifikation in Kotlin. Aber Typinferenz funktioniert, so dass Sie sich dessen im Grunde nicht bewusst sein müssen. Wenn Sie Erfahrung mit Java haben, kann es unangenehm sein, den Typ zum Zeitpunkt der Deklaration nicht anzugeben, aber ich denke, dass es in Ordnung ist, Ihren eigenen Komfort zu priorisieren.

Die einzige Ausnahme ist, wenn Sie ein Teil für die Anzeige auf dem Bildschirm deklarieren, wenn Sie den Typ nicht angeben. スクリーンショット 2017-03-14 0.13.11.png Jetzt habe ich absichtlich die Typspezifikation in einem bestimmten Projekt entfernt. Dann scheint es, dass Sie nicht verstehen können, was diese queryEditText auf einmal ist, スクリーンショット 2017-03-14 0.12.25.png Ich war wütend, dass der Text der queryEditText-Methode "Ungelöste Referenz" war.

スクリーンショット 2017-03-14 0.34.02.png Wenn Sie dies mit Xcode tun, werden Sie immer noch wütend. Machen Sie es sich also zumindest zur Gewohnheit, den Typ anzugeben, wenn Sie ein Teil deklarieren.

Typkonvertierung

Schauen wir uns diesmal als Beispiel die Konvertierung zwischen String-Typ und Int-Typ an.

conversion.swift


let value1 = "100"
var value2 = 1

let convert1 = Int(value1)
let convert2 = "\(value2)"

conversion.Java


String value1 = "100";
int value2 = 1;

int convert1 = Integer.parseInt(value1);
String convert2 = String.valueOf(value2);    

conversion.kotlin


var value1 = "100"
var value2 = 1

var convert1 = Integer.parseInt(value1)
var convert2 = value2.toString()

Null sicher

In Java kann alles null sein. Wenn ich mich darauf bezog, kam es häufig zu "tatsächlich war es null" -> "Nurupo", aber Kotlin erstellt einen Typ namens "null-toleranter Typ" und akzeptiert überhaupt keine Null. So wird es sein. Dank des nulltoleranten Typs wird verhindert, dass an unerwarteten Stellen Nullen auftreten.

Mit anderen Worten, es ist fast das gleiche wie der optionale Typ in Swift. Obwohl es einige Unterschiede in der Notation gibt, können sie fast gleich behandelt werden.

Bitte fügen Sie auch andere Artikel bei

Einführung in Kotlin für iOS-Entwickler ①-Umgebungskonstruktion Einführung in kotlin für iOS-Entwickler (2) -Projekterstellung Einführung in Kotlin für iOS-Entwickler (-About gradle Einführung in Kotlin für iOS-Entwickler ④-Typ [Einführung in Kotlin für iOS-Entwickler ⑤-Practical XML] (http://qiita.com/parappa1002/items/867c5b30055312e74fdb) [Einführung in Kotlin für iOS-Entwickler creation-Kotlin-Erstellung] (http://qiita.com/parappa1002/items/9f898feb4f83e672b384)

Recommended Posts

Einführung in Kotlin für iOS-Entwickler ④-Typ
Einführung in Kotlin für iOS-Entwickler lin ー Kotlin-Erstellung
Einführung in Kotlin für iOS-Entwickler ③-About gradle
Einführung in Kotlin für iOS-Entwickler ①-Umgebungskonstruktion
Einführung in Kotlin für iOS-Entwickler ②-Projekterstellung
Kotlin-Klasse zum Senden an Java-Entwickler
Einführung in die Programmierung für Studenten: Einführung
Kotlin-Generika für Java-Entwickler
Kotlins Klasse Teil 2 zum Senden an Java-Entwickler
Einführung in Java zum ersten Mal # 2
Einführung in die Programmierung für Studenten: Variablen
Tipps zur Interoperabilität mit Kotlin zum Senden an Java-Entwickler
Benötigt für iOS 14? So legen Sie NSUserTrackingUsageDescription fest
Memo für die Migration von Java nach Kotlin
Einführung in Ruby 2
Kotlin-Funktionen und Lambdas zum Senden an Java-Entwickler
Einführung in Ratpack (Extra Edition) - Ratpack in Kotlin geschrieben
[Einführung in Java] Informationen zur Typkonvertierung (Besetzung, Promotion)
Grundeinstellungen für das Umschreiben von Java-Projekten in Kotlin
Einführung in web3j
Erste Schritte mit Kotlin zum Senden an Java-Entwickler
[Java] Einführung in Java
Einführung in die Migration
Einführung in Doma
Erste Schritte mit Groovy für problematische Java-Ingenieure
[Einführung in Java] Grundlagen der Java-Arithmetik (für Anfänger)
Einführung in die Programmierung für Studenten (von Zeit zu Zeit aktualisiert)
Einführung in Java für Anfänger Grundkenntnisse der Java-Sprache ①
Einführung in die Programmierung für Studenten: Erstellen von Canvas
Ich möchte eine generische Anmerkung für einen Typ erstellen
Wie man Kotlin zum ersten Mal studiert ~ Teil 2 ~
Wie man Kotlin zum ersten Mal studiert ~ Teil 1 ~
Einführung in JAR-Dateien
Einführung in die Bitarithmetik
Einführung in Ratpack (6) --Promise
Einführung in Ratpack (9) - Thymeleaf
Einführung in PlayFramework 2.7 ① Übersicht
Einführung in Entwurfsmuster (Einführung)
[Java, Kotlin] Typabweichung
Einführung in die praktische Programmierung
Einführung in den Befehl javadoc
Einführung in den Befehl jar
Einführung in Ratpack (2) -Architektur
Einführung in den Lambda-Stil
Einführung in den Java-Befehl
Einführung in die Keycloak-Entwicklung
Einführung in den Befehl javac
Wie man einen Schrägstrich zurückschlägt \
Eine Einführung in Funktionstypen für objektorientierte Programmierer in Elm
Einführung in die Programmierung für Studenten: Vorbereitung Installieren wir die Verarbeitung
[IOS 14] Wie erhalte ich Bilddaten vom Datentyp direkt von PHPickerViewController?
Einführung in Batch-Dateien (für Anweisungen, Arrays, verzögerte Umgebungsvariablen)
Einführung in die Programmierung für Studenten: Zeichnen grundlegender Quadrate
Einführung in die Programmierung für Studenten: Zeichnen Sie gerade Linien