Show Menu
TÓPICOS×

Tipos de dados

Tecnicamente, uma constante sempre contém um tipo de dados. Na expressão literal, especificamos apenas o valor. O tipo de dados pode ser inferido a partir do valor (por exemplo, string, integer, decimal etc.). Para casos específicos, como data e hora, usamos funções dedicadas para a representação.
Veja como as expressões de tipo de dados são representadas:
Tipo de dados Descrição Representação literal Exemplo
string
Sequência comum de caracteres.
Ele não tem nenhum tamanho específico, exceto o implícito que vem do ambiente, como a quantidade de memória disponível.
Formato JSON: String
Formato de serialização: UTF-8
"<value>"
'<value>'
"hello world"

'hello world'

integer
Valor inteiro de -2^63 a 2^63-1.
Formato JSON: Número
<valor inteiro>
42

decimal
Número decimal.
Representa um valor flutuante:
- maior valor positivo finito do tipo duplo, (2-2^-52)x2^1023
- menor valor normal positivo do tipo duplo, 2-1022
- menor valor positivo diferente de zero do tipo double, 2 p-1074
Formato JSON: Número
Formato de serialização: usando '.' como separador decimal.
<valor inteiro>.<valor inteiro>
3.14

booleano
Valor booliano escrito em minúsculas: true ou false
Formato JSON:Booleano
true
false
true

dateTimeOnly
Representa uma hora de data sem fuso horário, exibida como ano-mês-dia-hora-minuto-segundo-milissegundo.
Ele não armazena ou representa um fuso horário.
Em vez disso, é uma descrição da data, como usada para aniversários, combinada com a hora local, como visto em um relógio de parede.
Não pode representar um instante na linha do tempo sem informações adicionais, como deslocamento ou fuso horário.
Formato de serialização: Formato de data e hora de deslocamento estendido ISO-8601.
Usa DateTimeFormatter.
ISO_LOCAL_DATE_TIME para desserializar e serializar o valor.
Saiba mais .
toDateTimeOnly("<dateTimeOnly no formato ISO-8601>")
dateTime
Constante de data e hora que também considera fuso horário.
Representa uma data e hora com um deslocamento de UTC. Ele pode ser exibido como um instantâneo no tempo com as informações adicionais do deslocamento.
É uma forma de representar um "momento" específico num determinado lugar do mundo.
Formato JSON: String.
Ele deve ser encapsulado em uma função toDateTime.
Formato de serialização: Formato de data e hora de deslocamento estendido ISO-8601.
Ele usa DateTimeFormatter.ISO_OFFSET_DATE_TIME para desserializar e serializar o valor.
Saiba mais .
Você também pode passar um número inteiro transmitindo um valor de época.
Leia mais .
O fuso horário pode ser especificado por um deslocamento ou um código de fuso horário (por exemplo: Europa/Paris, Z - ou seja, UTC).
toDateTime("<dateTime no formato ISO-8601>")
toDateTime(<valor inteiro de uma época em milissegundos>)
toDateTime("1977-04-22T06:00:00Z")

toDateTime

("2011-12-03T15:15:30Z")

toDateTime

("2011-12-03T15:15:30.123Z")

toDateTime

("2011-12-03T15:15:30.123+02:00")

toDateTime

("2011-12-03T15:15:30.123-00:20")

toDateTime(1560762190189)

duração
Representa uma quantidade de tempo baseada em tempo, como "34,5 segundos".
Ele modela uma quantidade ou quantidade de tempo em termos de milissegundos.
As unidades temporais suportadas são: milissegundos, segundos, minutos, horas, dias em que um dia é igual a 24 horas.
Anos e meses não são suportados porque não são um tempo fixo.
Formato JSON: String. Ele deve ser encapsulado em uma função toDuration.
Formato de serialização: Para desserializar uma ID de fuso horário, ela usa a função java java.time.
Duração.análise: os formatos aceitos são baseados no formato de duração ISO-8601 PnDTnHnMn.nS com dias considerados exatamente 24 horas.
Saiba mais .
toDuration("<duração no formato ISO-8601>")
toDuration(<duração em milissegundos>)
toDuration("PT5S") // 5 segundos

toDuration(500) // 

500ms

toDuration("PT20.345S") 

— analisa como "20,345 segundos"

toDuration("PT15M") 

 — analisa como "15 minutos"

(em que um minuto é de 60 segundos)

toDuration("PT10H") 

— analisa como "10 horas"

(onde uma hora é de 3600 segundos)

toDuration("P2D") 

— analisa como "2 dias"

(se um dia for 

24 horas ou 86400 segundos)

toDuration("P2DT3H4M") 

— analisa como

"2 dias, 3 horas e 4 minutos"

toDuration("P-6H3M") 

— analisa como

"-6 horas e +3 minutos"

toDuration("-P6H3M") 

— analisa como

"-6 horas e -3 minutos"

toDuration("-P-6H+3M") 

— analisa como

"+6 horas e -3 minutos"

lista Lista de expressões separadas por vírgulas usando colchetes como delimitadores. O polimorfismo não é suportado, portanto, todas as expressões contidas na lista devem ter o mesmo tipo. [<expressão>, <expressão>, ... ]
["value1","value2"]

[3,5]

[toDuration(500),toDuration(800)]