Escribe para buscar…

Builtin classes

Tots el tipus primitius i algunes classes de la llibreria estàndard de Kotlin es serialitzen per defecte.

Esta página todavía no se ha traducido — se muestra en su idioma original:Català

Introducció

A continuació anem a veure tots els tipus que es serialitzen per defecte.

Primitives

La serialització de Kotlin té aquest deu “primitives”: Boolean, Byte, Short, Int, Long, Float, Double, Char, String, i enumeracions.

Els tipus Boolean, Char i String es poden utilitzar sense cap tipus de consideració al respecte, però els altres necessiten algunes aclaracions.

Números

Kotlin té 4 tipus per representar números enters i 2 tipus per representar números en coma flotat, i com hem dit abans, tots són serialitzables.

kotlin
@Serializable
class Data(
    val answer: Int,
    val pi: Double
)                     

fun main() {
    val data = Data(42, PI)
    println(Json.encodeToString(data))
}

Pots veure que aquests números es codifiquen sense problemes en JSON:

json
{ 
  "answer": 42,
  "pi": 3.141592653589793
}

Codificar un Long

Hi ha llenguatges de programació que tenen més tipus, i altres menys, però el que ens interessa en el procés de serialització és el tipus que pot representar el format al qual codifiquem les dades.

JSON utilitza els tipus de Javascript, i Javascritpt només té el tipus number que equival a un Double.

Ja saps que qualsevol valor de tipus Byte, Short, Int o Float es pot representar amb un Double, peró no tots els valors de tipus Long es poden representar amb un Double.

Per defecte, un Long amb un valor molt gran es codifica tal qual:

TODO els dos literals coincidents

kotlin
@Serializable
class Data(val signature: Long)

fun main() {
    val data = Data(0x1CAFE2FEED0BABE0)
    println(Json.encodeToString(data))
}

Pot veure que signature es codifica com un número encara que un number (o un Double) no pugui representar aquest número:

json
{ "signature": 2067120338512882656 }

Estás leyendo una vista previa.

Inicia sesión para leer el artículo completo. Cualquier cuenta abre 4 artículos gratuitos al mes; el alumnado y el profesorado leen las páginas de su curso sin límite.

Iniciar sesión