Literals
Last updated
Last updated
Literals serve to write values of any data type.
integer
digits representing integer number
[0-9]+
95623
long integer
digits representing an integer number with absolute value even greater than 2 31, but less than 2 63
[0-9]+L?
257L, or 9562307813123123L
hexadecimal integer
digits and letters representing an integer number in hexadecimal form
0x[0-9A-F]+
0xA7B0
octal integer
digits representing an integer number in octal form
0[0-7]*
0644
number (double)
a floating point number represented by 64bits in double precision format
.[0-9]
456.123
decimal
digits representing a decimal number
[0-9]+.[0-9]+D
123.456D
double quoted string
string value/literal enclosed in double quotes; escaped characters [\n,\r,\t, \\, ", \b] get translated into corresponding control chars
"…​anything except ["]…​"
"hello\tworld\n\r"
single quoted string
string value/literal enclosed in single quotes; only one escaped character [\'] gets translated into corresponding char [']
'…​anything except [']…​'
'hello\tworld\n\r'
list
list of expressions where all elements are of the same data type
[ <element> (, <element>)* ] [] for an empty list
[10, 16 + 1, 31] or ['hello', "world" ]
map
list of key-value mappings where all keys and all values are expressions of the same data type
{ <key> → (, <key> → <value>)* } {} for an empty map
{ "a" → 1, "bb" → 2 }
date
date value
this mask is expected: yyyy-MM-dd
2008-01-01
datetime
datetime value
this mask is expected: yyyy-MM-dd HH:mm:ss
2008-01-01 18:55:00
Remember that if you need to assign a decimal value to a decimal field, you should use decimal literal. Otherwise, such number would not be decimal, it would be a double number. For example:
Decimal value to a decimal field (correct and accurate)
Double value to a decimal field (possibly inaccurate)
The latter might produce inaccurate results.