[JAVA] Mémo d'apprentissage Kotlin (fonctionnalités utiles pour le développement)

** Définition des principales variables **

val et var

--val → Impossible avec réaffectation --var → réaffectable

Exemple

val a: String = "foo"
a = "bar" //Obtenez une erreur
var b: String = "foo"
b = "bar" //Pas d'erreur

** Il semble préférable d'utiliser val autant que possible et uniquement lorsque cela est nécessaire **


nullable

Les variables ** auxquelles la valeur NULL peut être attribuée ** et les variables ** qui ne peuvent pas l'être ** sont distinguées comme des types différents. Par exemple, s'il s'agit d'un type String, à moins qu'il ne soit déclaré en tant que String? Type avec un? À la fin. Vous ne pouvez pas affecter null.

Exemple

val a: String = null //Obtenez une erreur
val b: String? = null //Pas d'erreur

De cette manière, une affectation nulle involontaire entraînera une erreur lors de la compilation. Il a pour effet d'éviter les gluants.


Si expression qui renvoie une valeur

Le if de Kotlin peut être utilisé non seulement comme une instruction if, mais aussi comme une expression if. Vous pouvez renvoyer une valeur. Pour cette raison, c'est pratique car il existe de nombreuses situations dans lesquelles vous pouvez écrire de manière concise.

Exemple (c'est le cas avec Java)

String a;
if(b) {
  a = "foo";
} else {
  a = "bar";
}

Exemple (Kotlin peut être écrit comme ceci)

val a = if(b) "foo" else "bar"

Argument nommé, argument par défaut

Kotlin vous permet de nommer des arguments et de leur donner des valeurs par défaut, donc Surcharge (plusieurs définitions, définition de plusieurs méthodes avec le même nom avec différents arguments et valeurs de retour) Vous n'êtes pas obligé d'utiliser.

Exemple

//Définir la valeur par défaut pour middleName
fun fullName(firstName: String, middleName: String = "", lastName: String)

//Vous pouvez spécifier et transmettre uniquement les arguments requis
val name = fullName(firstName = "Jun", lastName = "Ikeda")

Recommended Posts

Mémo d'apprentissage Kotlin (fonctionnalités utiles pour le développement)
Une collection de bibliothèques utiles dans le développement Android
Notes pour les débutants en développement d'applications Android
Fonctionnalités du framework angulaire pour le développement Web
Pour l'apprentissage JAVA (2018-03-16-01)
Java SE8 Silver est-il utile pour le travail de développement Java? ??
[Android / Kotlin] Notes détaillées 2
Notes pour l'analyse AST
[Kotlin] Ressources et conseils pour apprendre un nouveau langage de programmation