Kotlin a-t-il des types primitifs ?. Lorsque je déclare la variable: val myAge: Int = 18
Puis la variable myAge
variables stocke les valeurs réelles est 18
Ou stocke les adresses des objets dans la mémoire ?. Si Int
est un type primitif, alors pourquoi nous pouvons utiliser sa méthode comme myAge.minus(10)
?
Sur le Java Plate-forme, les numéros sont physiquement stockés en tant que types primitifs JVM, à moins que nous ayons besoin d'une référence NULLABLE NUMÉRO (E. int?) Ou des génériques sont impliqués. Dans ce dernier cas, les numéros sont en boîte.
Notez que la boxe des chiffres ne conserve pas nécessairement l'identité:
val a: Int = 10000
println(a === a) // Prints 'true'
val boxedA: Int? = a
val anotherBoxedA: Int? = a
println(boxedA === anotherBoxedA) // !!!Prints 'false'!!!
NOTE "===" utilisé pour comparer la référence ....
D'autre part, il préserve l'égalité:
val a: Int = 10000
println(a == a) // Prints 'true'
val boxedA: Int? = a
val anotherBoxedA: Int? = a
println(boxedA == anotherBoxedA) // Prints 'true'