Tipi di dati data-types

Tecnicamente, una costante contiene sempre un tipo di dati. Nell’espressione letterale, specifichiamo solo il valore. Il tipo di dati può essere dedotto dal valore (ad esempio stringa, numero intero, decimale e così via). Per casi specifici come la data e l’ora, utilizziamo funzioni dedicate per la rappresentazione.

Le sezioni seguenti forniscono informazioni sulle diverse espressioni dei tipi di dati e sulla loro rappresentazione.

string string

Descrizione

Sequenza comune di caratteri. Non dispone di dimensioni specifiche, ad eccezione di quelle implicite provenienti dall’ambiente, come la quantità di memoria disponibile.

Formato JSON: String

Formato di serializzazione: UTF-8

Rappresentazione letterale

"<value>"
'<value>'

Esempio

"hello world"
'hello world'

numero intero integer

Descrizione

Valore intero compreso tra -2^63 e 2^63-1.

Formato JSON: numero

Rappresentazione letterale

<integer value>

Esempio

42

decimale decimal

Descrizione

Numero decimale. Rappresenta un valore mobile:

  • massimo valore positivo finito di tipo double, (2-2 -52)x2 1023
  • valore normale positivo più piccolo di tipo double, 2-1022
  • valore positivo più piccolo diverso da zero di tipo double, 2 p-1074

Formato JSON: numero

Formato di serializzazione: con '.' come separatore decimale.

Rappresentazione letterale

<integer value>.<integer value>

Esempio

3.14

booleano boolean

Descrizione

Valore booleano scritto in minuscolo: true o false

Formato JSON: booleano

Rappresentazione letterale

true
false

Esempio

true

dateOnly  date-only

Descrizione

Rappresenta solo una data senza un fuso orario, visualizzato come anno-mese-giorno.

È una descrizione della data, utilizzata per i compleanni.

Formato JSON: String.

Il formato è: AAAA-MM-GG (ISO-8601), ad esempio: "2021-03-11".

Può essere incapsulato in una funzione toDateOnly.

Utilizza DateTimeFormatter ISO_LOCAL_DATE_TIME per deserializzare e serializzare il valore. Ulteriori informazioni

Rappresentazione letterale

date("<dateOnly in ISO-8601 format>")

Esempio

date("2021-02-19")

dateTimeOnly  date-time-only

Descrizione

Rappresenta una data/ora senza fuso orario, visualizzata come anno-mese-giorno-ora-minuto-secondo-millisecondo.

Formato JSON: String.

Non memorizza né rappresenta un fuso orario. Si tratta invece di una descrizione della data, utilizzata per i compleanni, combinata con l'ora locale visualizzata su un orologio da parete.

Non può rappresentare un istante sulla linea temporale senza informazioni aggiuntive, ad esempio uno scostamento o un fuso orario.

Può essere incapsulato in una funzione toDateTimeOnly.

Formato di serializzazione: formato data/ora offset esteso ISO-8601.

Utilizza DateTimeFormatter ISO_LOCAL_DATE_TIME per deserializzare e serializzare il valore. Ulteriori informazioni.

Rappresentazione letterale

date("<dateTimeOnly in ISO-8601 format>")

Esempi

date("2024-02-19T00.00.000")
date("2024-02-19T00.00")

dateTime date-time

Descrizione

Costante di data e ora che considera anche il fuso orario. Rappresenta una data-ora con uno scostamento da UTC.

Può essere vista come un istante di tempo con le informazioni aggiuntive dell'offset. È un modo per rappresentare un "momento" specifico in un certo luogo del mondo.

Formato JSON: String.

Può essere incapsulato in una funzione toDateTime.

Formato di serializzazione: formato data/ora offset esteso ISO-8601.

Utilizza DateTimeFormatter ISO_OFFSET_DATE_TIME per deserializzare e serializzare il valore. Ulteriori informazioni.

Puoi anche trasmettere un numero intero che passa un valore epoca. Ulteriori informazioni.

Il fuso orario può essere specificato da uno scostamento o da un codice del fuso orario (ad esempio: Europa/Parigi, Z - che significa UTC).

Rappresentazione letterale

toDateTime("<dateTime in ISO-8601 format>")
date("<dateTime in ISO-8601 format>")
toDateTime(<integer value of an epoch in milliseconds>)

Esempi

date("2024-02-19T00.00.000Z")
toDateTime("1977-04-22T06:00:00Z")
toDateTime("2023-12-03T15:15:30Z")
toDateTime("2023-12-03T15:15:30.123Z")
toDateTime("2023-12-03T15:15:30.123+02:00")
toDateTime("2023-12-03T15:15:30.123-00:20")
toDateTime(1560762190189)

durata duration

Descrizione

Rappresenta un periodo di tempo basato sul tempo, ad esempio "34,5 secondi". Modella una quantità o una quantità di tempo in termini di millisecondi.

Le unità temporali supportate sono: millisecondi, secondi, minuti, ore, giorni in cui un giorno equivale a 24 ore. Anni e mesi non sono supportati in quanto non rappresentano un periodo di tempo fisso.

Formato JSON: String.

Deve essere incapsulato in una funzione toDuration.

Formato di serializzazione: per deserializzare un ID di fuso orario, viene utilizzata la funzione java java.time.

Duration.parse: i formati accettati sono basati sul formato di durata ISO-8601 PnDTnHnMn.nS con giorni considerati esattamente 24 ore. Ulteriori informazioni.

Rappresentazione letterale

toDuration("<duration in ISO-8601 format>")
toDuration(<duration in milliseconds>)

Esempio

toDuration("PT5S") -- parses as 5 seconds
toDuration(500) -- parses as 500ms
toDuration("PT20.345S") -- parses as "20.345 seconds"
toDuration("PT15M") -- parses as "15 minutes" (where a minute is 60 seconds)
toDuration("PT10H")  -- parses as "10 hours" (where an hour is 3600 seconds)
toDuration("P2D") -- parses as "2 days" (where a day is 24 hours or 86400 seconds)
toDuration("P2DT3H4M") -- parses as "2 days, 3 hours and 4 minutes"
toDuration("P-6H3M") -- parses as "-6 hours and +3 minutes"
toDuration("-P6H3M") -- parses as "-6 hours and -3 minutes"
toDuration("-P-6H+3M") -- parses as "+6 hours and -3 minutes"

list list

Descrizione

Elenco di espressioni separate da virgole che utilizzano parentesi quadre come delimitatori.

Il polimorfismo non è supportato, pertanto tutte le espressioni contenute nell'elenco devono avere lo stesso tipo.

Rappresentazione letterale

[<expression>, <expression>, ... ]

Esempio

["value1","value2"]
[3,5]
[toDuration(500),toDuration(800)]
recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76