リテラル式
SpEL は、次の型のリテラル式をサポートしています。
- String
文字列は一重引用符 (
'
) または二重引用符 ("
) で区切ることができます。一重引用符で囲まれた文字列リテラル内に一重引用符を含めるには、隣接する 2 つの一重引用符文字を使用します。同様に、二重引用符で囲まれた文字列リテラル内に二重引用符を含めるには、隣接する 2 つの二重引用符文字を使用します。- 番号
数値では、負符号、指数表記、小数点の使用がサポートされています。
整数:
int
またはlong
16 進数:
int
またはlong
本物:
float
またはdouble
デフォルトでは、実数は
Double.parseDouble()
を使用して解析されます。
- Boolean
true
またはfalse
- null
null
Spring 式言語の設計と実装により、リテラル数値は常に正の数値として内部的に保存されます。 例: これは、Java では、その型の数値の最小値に等しい負のリテラル数値を表すことができないことを意味します。例: Java の SpEL 式内の特定の型の数値の最小値を使用する必要がある場合は、それぞれのラッパー型 (
|
次のリストは、リテラルの簡単な使用箇所を示しています。通常、これらはこのように単独で使用されるのではなく、より複雑な式の一部として使用されます。たとえば、論理比較演算子の片側でリテラルを使用したり、メソッドの引数として使用したりします。
Java
Kotlin
ExpressionParser parser = new SpelExpressionParser();
// evaluates to "Hello World"
String helloWorld = (String) parser.parseExpression("'Hello World'").getValue();
// evaluates to "Tony's Pizza"
String pizzaParlor = (String) parser.parseExpression("'Tony''s Pizza'").getValue();
double avogadrosNumber = (Double) parser.parseExpression("6.0221415E+23").getValue();
// evaluates to 2147483647
int maxValue = (Integer) parser.parseExpression("0x7FFFFFFF").getValue();
boolean trueValue = (Boolean) parser.parseExpression("true").getValue();
Object nullValue = parser.parseExpression("null").getValue();
val parser = SpelExpressionParser()
// evaluates to "Hello World"
val helloWorld = parser.parseExpression("'Hello World'").value as String
// evaluates to "Tony's Pizza"
val pizzaParlor = parser.parseExpression("'Tony''s Pizza'").value as String
val avogadrosNumber = parser.parseExpression("6.0221415E+23").value as Double
// evaluates to 2147483647
val maxValue = parser.parseExpression("0x7FFFFFFF").value as Int
val trueValue = parser.parseExpression("true").value as Boolean
val nullValue = parser.parseExpression("null").value