[JAVA] Introduction à kotlin pour les développeurs iOS ④-type

Cette fois, je regarderai vaguement la gestion et les types de variables et de constantes tout en comparant comment les écrire avec swift, java et kotlin.

Déclaration des constantes et des variables

Au moment de la déclaration, ajoutez "let" et "var" en swift, le nom du type de la constante / variable en Java, et "val" et "var" en kotlin.

declaration.swift


let value1 = "HelloWorld" //constant
var value2 = 1 //variable

declaration.Java


final String value1 = "HelloWorld"; //constant
int value2 = 1; //variable

(* Je ne connais pas les constantes de classe cette fois.)

declaration.kt


val value1 = "HelloWorld" //constant
var value2 = 1 //variable

Type de type

Les principaux points sont la comparaison des types Int, Double, String et Bool. Veuillez noter que certaines parties sont légèrement différentes, comme "int" en Java mais "Int" en 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

Inférence de type

Des trois, seul Java ne fonctionne pas avec l'inférence de type. Dans le cas de Java, comme mentionné ci-dessus, si vous ne spécifiez pas le type au moment de la déclaration, vous vous fâcherez, donc il n'y a pas de tour pour l'inférence.

Spécification de type

Il existe également une spécification de type dans kotlin. Mais l'inférence de type fonctionne, donc fondamentalement, vous n'avez pas à en être conscient. Si vous avez de l'expérience avec Java, il peut être désagréable de ne pas spécifier le type au moment de la déclaration, mais je pense qu'il est normal de donner la priorité à votre propre confort.

La seule exception est lorsque vous déclarez une pièce à afficher à l'écran si vous ne spécifiez pas le type. スクリーンショット 2017-03-14 0.13.11.png Maintenant, j'ai intentionnellement supprimé la spécification de type dans un certain projet. Ensuite, il semble que vous ne puissiez pas comprendre ce qu'est cette queryEditText à la fois, スクリーンショット 2017-03-14 0.12.25.png J'étais en colère que le texte de la méthode queryEditText soit "Référence non résolue".

スクリーンショット 2017-03-14 0.34.02.png Si vous faites cela avec Xcode, vous serez toujours en colère. Alors, à tout le moins, prenez l'habitude de spécifier le type lors de la déclaration d'une pièce.

Conversion de type

Cette fois, à titre d'exemple, examinons la conversion entre le type String et le type Int.

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()

Coffre-fort nul

En Java, tout a le potentiel d'être nul. Donc, quand j'y ai fait référence, "en fait c'était nul" -> "Nurupo" se produisait souvent, mais kotlin crée un type appelé "type tolérant nul" et n'accepte pas null du tout autre que cela. C'est comme ça que ça va être. Grâce au type tolérant aux valeurs nulles, il empêche les valeurs nulles d'apparaître à des endroits inattendus.

En d'autres termes, c'est presque le même que le type facultatif dans swift. Bien qu'il existe quelques différences de notation, elles peuvent être traitées presque de la même manière.

Veuillez également inclure d'autres articles

Introduction à kotlin pour les développeurs iOS ①-Construction de l'environnement Introduction à kotlin pour les développeurs iOS (2) -Création de projet Introduction à kotlin pour les développeurs iOS ③-À propos de gradle Introduction à kotlin pour les développeurs iOS ④-type [Introduction à kotlin pour les développeurs iOS ⑤-XML pratique] (http://qiita.com/parappa1002/items/867c5b30055312e74fdb) [Introduction à kotlin pour les développeurs iOS ⑥-kotlin creation] (http://qiita.com/parappa1002/items/9f898feb4f83e672b384)

Recommended Posts

Introduction à kotlin pour les développeurs iOS ④-type
Introduction à kotlin pour les développeurs iOS ⑥ ー création de kotlin
Introduction à kotlin pour les développeurs iOS ③-À propos de gradle
Introduction à kotlin pour les développeurs iOS ①-Construction de l'environnement
Introduction à kotlin pour les développeurs iOS ②-Création de projet
Classe Kotlin à envoyer aux développeurs Java
Introduction à la programmation pour les étudiants du Collège: Introduction
Génériques Kotlin pour les développeurs Java
Kotlin's Class part.2 à envoyer aux développeurs Java
Introduction à Java pour la première fois # 2
Introduction à la programmation pour les étudiants du collégial: variables
Conseils d'interopérabilité avec Kotlin à envoyer aux développeurs Java
Nécessaire pour iOS 14? Comment définir NSUserTrackingUsageDescription
Mémo pour la migration de Java vers Kotlin
Introduction à Ruby 2
Fonctions Kotlin et lambdas à envoyer aux développeurs Java
Introduction à Ratpack (Extra Edition) --Ratpack écrit en Kotlin
[Introduction à Java] À propos de la conversion de type (distribution, promotion)
Paramètres initiaux pour la réécriture de projets Java sur Kotlin
Introduction à web3j
Premiers pas avec Kotlin à envoyer aux développeurs Java
[Java] Introduction à Java
Introduction à la migration
Introduction à Doma
Premiers pas avec Groovy pour les ingénieurs Java gênants
[Introduction à Java] Bases de l'arithmétique Java (pour les débutants)
Introduction à la programmation pour les étudiants du collégial (mise à jour de temps à autre)
Introduction à Java pour les débutants Connaissance de base du langage Java ①
Introduction à la programmation pour les étudiants du Collège: création de canevas
Je souhaite créer une annotation générique pour un type
Comment étudier le kotlin pour la première fois ~ Partie 2 ~
Comment étudier le kotlin pour la première fois ~ Partie 1 ~
Introduction aux fichiers JAR
Introduction à l'arithmétique des bits
Introduction à Ratpack (6) - Promesse
Introduction à Ratpack (9) --Thymeleaf
Introduction à PlayFramework 2.7 ① Présentation
Introduction aux modèles de conception (introduction)
[Java, Kotlin] Variance de type
Introduction à la programmation pratique
Introduction à la commande javadoc
Introduction à la commande jar
Introduction à Ratpack (2) -Architecture
Introduction au style lambda
Introduction à la commande java
Introduction au développement de Keycloak
Introduction à la commande javac
Comment repousser la barre oblique \
Une introduction aux types fonctionnels pour les programmeurs orientés objet dans Elm
Introduction à la programmation pour les étudiants du Collège: Préparation Installons le traitement
[IOS 14] Comment obtenir des données d'image de type Data directement à partir de PHPickerViewController?
Introduction aux fichiers batch (pour les instructions, les tableaux, les variables d'environnement différées)
Introduction à la programmation pour les étudiants: comment dessiner des carrés de base
Introduction à la programmation pour les étudiants du Collège: dessiner des lignes droites