字面值表達式
SpEL 支援下列類型的字面值表達式。
- 字串
-
字串可以用單引號 (
'
) 或雙引號 ("
) 分隔。若要在以單引號括住的字串字面值中包含單引號,請使用兩個相鄰的單引號字元。同樣地,若要在以雙引號括住的字串字面值中包含雙引號,請使用兩個相鄰的雙引號字元。 - 數字
-
數字支援使用負號、指數表示法和小數點。
-
整數:
int
或long
-
十六進位:
int
或long
-
實數:
float
或double
-
預設情況下,實數會使用
Double.parseDouble()
剖析。
-
-
- 布林值
-
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